从 Foo::MyClass 调用模块 Foo 中的 Ruby 方法



在Ruby类中调用方法的首选方法是什么,该方法位于其父模块中?

喜欢这个。。

#!/usr/bin/ruby
module Foo
def baz
123123
end

class Bar 
def test
puts baz
end
end

class Bar
end
end
bar = Foo::Bar.new
bar.test

如果我这样做,我可以让它工作。

#!/usr/bin/ruby
module Foo
def baz
123123
end

class Bar 
include Foo
def test
puts baz
end
end

class Bar
end
end
bar = Foo::Bar.new
bar.test

但这是最好的方法吗?

module Foo
def self.baz
123123
end
class Bar
def test
puts Foo.baz
end
end
end
bar = Foo::Bar.new
bar.test

相关内容

  • 没有找到相关文章