2

Sinatra を使用すると、何らかの理由で、number > 1000 の結果がブラウザに出力されません。すぐに「あなたの番号 10000 を推測するのに 0 回の試行が必要でした」と表示されます。例えば。そのため、if ステートメントは until ループを実行しないことで機能しますが、出力はブラウザーに表示されません。うまくいけば、私は本当にばかげたことをしているだけです。

簡単に:「数値は 1000 未満である必要があります。」# これはブラウザに出力されません... なぜ!?

動作しません...

追加クレジット: rand が新しい値のみを試行し、数値ごとに 1 回比較するように、最後に試行された推測を保存する最も簡単な方法は何ですか。例: /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
4

1 に答える 1