簡単な Ruby の例では、irb では発生しないエラーが発生しています。
name = "Joe"
def say_hi
"\"Hi there!\" said #{self}"
end
response = name.say_hi
puts response
このコードは、「こんにちは!」を返す必要があります。とジョーは言いました。
irbでは問題なく動作します。ただし、同じコードをファイルに入れて実行しようとすると、次のエラーが発生します。
say_hi.rb:8:in `<main>': private method `say_hi' called for "Joe":String (NoMethodError)
なぜこれが起こるのかについて何か提案はありますか?