Tate氏の「7週間の7つの言語」でRubyの章に取り掛かりました。Rubyのセンチネルループが期待通りに機能しない(7つの言語を7週間で)
1日目のボーナスに関する質問では、「ランダム」番号を生成し、ユーザーの推測を入力から読み取って、推測値を「ランダム」番号と比較してから、ユーザーに推測を続けますbegin
ループ。しかし、ループはユーザーが入力した文字列の値に関係なく終了するようです。
# file : day1_bonus.rb
# Seven Languages In Seven Weeks
#
# Guess a random number!
again = "y"
begin
print "Enter a number between 0 and 9: "
number = gets.to_i
randNum = rand(10)
if number == randNum
puts 'You guessed correctly!'
else
puts 'You guessed incorrectly.'
end
print "Play again? (y/n): "
again = gets
again.chomp # remove carriage return
end while again == "y"
出力:
Enter a number between 0 and 9: 3
You guessed incorrectly.
Play again? (y/n): y
nil
フェア十分な質問を行うが、ここではRubyのhttp://stackoverflow.com/q/3955688/38765 –
@AndrewGrimmでデバッグを行う方法についていくつかのヒントがあります: :) –
@AndrewGrimm:ありがとう、私はREPLでどのようにデバッグするかと思っていました。私はこれを見ていきます。 – dtg