如何在sinatra中输出短语n次

时间:2017-11-18 14:35:15

标签: ruby sinatra erb

如何在sinatra中执行以下代码的等效操作? - 将短语输出到网页n次?

get "/say/:number/:phrase" do
  params[:number].to_i.times do
    puts params[:phrase]
  end
end

1 个答案:

答案 0 :(得分:1)

在Sinatra中,返回值是返回给浏览器的值。由于您正在使用puts,因此它只是打印到控制台而times返回值,而不是块结果。简单地返回phrase number次的最简单方法是这样的:

get "/say/:number/:phrase" do 
  phrase * number.to_i
end

如果您想对短语(例如upcase)进行额外处理,可以在字符串中构建它。

get "/say/:number/:phrase" do 
  result = ""
  number.to_i.times do |i|
    result += phrase.upcase
  end
  result
end