KeiIchiのブログ

プログラミング学習で、日々学んだことを書いていきます!

String can’t be coerced into Integer

変数同士の計算を行っていた際に、String can’t be coerced into Integerというエラー文を見つけ

それについて調べたので、書いていきます。

結論として、stringクラスとintegerクラスの四則演算の挙動が異なるため生じているエラーでした。

例えば
text = "はい”
num = 3

puts text * num
#出力結果
はいはいはい

となりますが、

text = "はい"
num = 3

puts num * text
#出力結果
String can’t be coerced into Integer

となり、型が違うからというエラーとなります。 rubyは組み込み言語であり、クラスごとに使用できるメソッドが異なることを理解しておかなければならないなと感じました。

下記の記事を参考にさせていただきました。 ありがとうございます。

参考記事

文字列の繰り返しで良く出る String can’t be coerced into Integer