我还是红宝石的新手。我不明白方法的可见性。文档说,默认情况下所有方法都是公共的(除非另有定义)。所以这应该有效(但它没有,MWE):
modules/example.rb
:
class Example
def do_stuff
puts 'hello world'
end
end
和testing.rb
:
load 'modules/example.rb'
Example.new
Example.do_stuff
调用$ ruby testing.rb
结果
testing.rb:9:in `<main>': undefined method `do_stuff' for Example:Class (NoMethodError)
有人可以解释为什么吗?以及如何解决我可以do_stuff
直接调用的问题?