在一个简单的 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)
关于为什么会发生这种情况的任何建议?