getsとgets.to_iの違い
勉強したはずのgetsメソッドについて混乱したので、まとめました。
ユーザーから入力された値を表示や計算させたい時に使うのが「getsメソッド」
例えば、以下のように入力値+指定した言葉を表示したい時。
何が食べたいですか? (システムが表示)
↓
りんご (ユーザーが入力)
↓
りんご が食べたいです (システムが表示)
gets
getsメソッドで得られる入力は文字列
文字列 と 改行(も付いている)
.chomp
改行を外す
例)name = gets.chomp
.to_i
数値オブジェクトに変換してくれる
例) age = gets.to_i
getsで文字列が返り → to_i で文字列を整数に変換した値が返る
Sampleコード
def fruits(what)
puts "#{what}が食べたいです"
end
puts "何が食べたいですか?"
food = gets.chomp
fruits(food)
結果
何が食べたいですか?
りんご
りんごが食べたいです
参考にした記事
ありがとうございました!
(マジで)ゼロからRubyする編 〜gets.to_i〜 - tricky froggy but happy
以上です。