to_iとto_sについて
どっちがどっちか分からなくなることが多いので、まとめます!
*to_i・・・iの意味はinteger(整数)
*to_s・・・sの意味はstring(文字列)
使い分け方法
それぞれの使い方について、詳しくみていきます。
number1 = 10 #数値
number2 = "15" #文字
上記を利用してそれぞれのメソッドを利用していきます。
to_iメソッド
文字列オブジェクトに対してto_iメソッドを使うと、その文字列を数値オブジェクトに変換することができる!
つまり、
puts number1 + 5 #出力結果 15
puts number2 + 5 #エラー
#numberyyyを出力させるためにto_iメソッドを使うと
puts number2.to_i + 5 #出力結果 20
ということになります!
to_sメソッド
数値オブジェクトに対してto_sメソッドを使うと、その数値を文字列オブジェクトに変換することができる!
つまり、
puts number1 + "歳の誕生日です" #エラー
puts number2 + "歳の誕生日です" #出力結果 15歳の誕生日です
#numberxxxを出力させるためにto_sメソッドを使うと
puts number1.to_s + "歳の誕生日です" #出力結果 10歳の誕生日です
ということになります!
まとめ
このto_iはgetsメソッドと共に使われることが多いですね。
どちらも似ていて間違いやすいので気をつけて使っていきたいと思います!