我正在使用 Sinatra 和Jumpstart Labs构建一个 WebGuesser 。我在浏览器的文本字段中输入了一个数字。我点击提交,如果我的数字太低或太高(或在 5 以内),我应该会收到回复。我使用 Shotgun 加载服务器。我希望能够猜测一个数字,而无需每次猜测时随机数都发生变化。
代码:
require 'sinatra'
require 'sinatra/reloader'
def check_guess(guess)
if params["guess"].to_i == guess
"You got it right!"
elsif params["guess"].to_i > guess
if params["guess"].to_i > (guess + 5)
"Way too high!"
else
"Close.. but too high!"
end
elsif params["guess"].to_i < guess
if params["guess"].to_i < (guess - 5)
"Way too low!"
else
"Close.. but too low!"
end
end
end
# Home route
get '/' do
SECRET_NUMBER = rand(100)
message = check_guess(SECRET_NUMBER)
erb :index, :locals => { :message => message }
end
目前,每次我猜测这无济于事时,我都会得到一个新的随机数。我觉得这可能与我的 SECRET_NUMBER 在范围方面有关。有什么想法吗?