使用 Sinatra,无论出于何种原因,如果数字 > 1000,结果不会输出到浏览器。它立即显示“猜测您的数字 10000 需要 0 次尝试”。例如。因此,虽然 if 语句通过不执行 until 循环来工作,但它不会向浏览器显示输出。希望我只是在做一些非常愚蠢的事情。
简单: “数字必须小于 1000。” # 这不会输出到浏览器...为什么!?
不工作...
额外的信用: 存储最后尝试的猜测的最简单方法是什么,以便 rand 只尝试新值并比较每个数字一次。例如,使 /lottery/10 不可能有超过 10 次猜测。
下面的代码
get '/lottery/:number' do
i = 0
guess = 0
number = params[:number].to_i
if number > 1000 then
"Number must be under 1000." # This doesn't output to browser... WHY!?
else
until number == guess do
guess = rand(number) + 1
puts "Guess: #{guess} | Attempt: #{i}"
i +=1
end
end
"It took #{i} tries to guess your number #{number}."
end