このプログラムは最初のステートメントを出力し、数字を入力した後に終了します。 "5"、何も印刷しないでください。私がcase
のステートメントに書いたロジックから、私はそれを出力すると期待しています。「あなたは大人ではありません:(「5」の値は他にもあります)私のcaseステートメントは機能しませんが、ロジックは私にとって正しいと思われます
何が問題なのですか?
print "Enter you age "
age = gets.chomp
if age.to_i<120
case age.to_i
when age.to_i<18
puts "You're not an adult :("
puts "Sorry"
when age.to_i>18
puts "You are now an adult!"
puts "phew"
end
end
あなたは 'age.to_i'を繰り返し使用しているので、本当にしたいのは' age = gets.chomp.to_i'を一度変換してから使用することです。誰かが18歳のときに何が起こるか?どちらの場合にも合致しません。あなたはまた、120歳未満の誰もあなたのメッセージを見ることを妨げています。 – tadman
Whtaが間違っていますか?あなたはそれを述べます。 – sawa
ブール値が数値と一致するかどうかを確認しています。明らかに、それはしません。 –