【Ruby入門】getsメソッドのデータ型エラーを解消するには
要件
-ユーザーが入力した値の1%分のポイントを表示する。 -ユーザーが入力した値が1000円以上の場合には、1%分のポイント+50ポイントを表示する。
【失敗例】
money = gets point = money / 100 if money >= 1000 puts point + 50 else puts point end
次のような、エラーが表示されて処理が実行されません。
test02.rb:2:in <main>': undefined method
/' for "1200\n":String (NoMethodError)
これは、getsメソッドに原因があります。getsメソッドはキーボードで入力した値を取得しますが、文字列として取得します。そのため、文字列を数値として計算しようとしたため、怒られてしまうのです。そのため、ここでは数値として値を取得してくれる.to_iメソッドを使いましょう!
money = gets.to_i point = money / 100 if money >= 1000 puts point + 50 else puts point end
これにより、エラーが改善することが可能です!