如何使用Sinatra拥有无限路径段



>假设我想有无限的路径分隔,并让 get 将它们相乘,以便:

get "/multiply/num1/num2/num3......" do
    num1 = params[:num1].to_i
    num2 = params[:num2].to_i
    .... 
    solution = num1 * num2 * ....
    "the solution is = #{solution}"
end

我希望用户能够键入任意数量的路径段,然后将这些数字相乘得到解决方案。

我找到了一种方法:

get "/multiply/*" do
    n = params[:splat][0].split('/')
    for i in (0...n.length)
        n[i] = n[i].to_f
    end
    n = n.inject{ |sum, n| sum * n }
    "solution = #{n}"
end

最新更新