0
I持っていたシンプルなRubyのトレーニングプログラムの一環として、以下:Ruby `to_i!`メソッドが動作しません。疑問に思うなぜ
user_num = gets.chomp
user_num.to_i!
が正常に動作します:
user_num = Integer(gets.chomp)
が正常に動作します
がエラーを返します。
user_num = gets.chomp.to_i
が正常に動作します:最初のインスタンスはエラーが、他の3つの作業罰金を返す理由について
print "Integer please: "
#code insert location
if user_num < 0
puts "You picked a negative integer!"
elsif user_num > 0
puts "You picked a positive integer!"
else
puts "You picked zero!"
end
任意のアイデア:
user_numX = gets.chomp
user_num = user_numX.to_i
ここでプログラムはありますか?最初はうまくいくはずです。それは私を悩ませている。ありがとう。
'user_num.to_i!'は単に "エラーを返す"だけではなく、特定の例外とエラーメッセージを出します: 'NoMethodError:未定義メソッド' to_i! ' "2":String'( '' 2 "'が入力されていた場合)これは問題が何であるかを正確に伝えます。クラス 'String'にはインスタンスメソッド' to_i! 'はありません。エラーメッセージに注意深く注意を払い、その質問に言及するときは、例外が発生した行を含め、メッセージのすべての関連部分を含めます。 –