给定以下示例:
module A
module B
def whoa
puts 'Whoa!'
end
end
end
如何访问 whoa 方法?
1.9.3p392 :047 > A.B.whoa
NoMethodError: undefined method `B' for A:Module
1.9.3p392 :048 > A::B.whoa
NoMethodError: undefined method `whoa' for A::B:Module
1.9.3p392 :049 > A::B::whoa
NoMethodError: undefined method `whoa' for A::B:Module
这些方法似乎都不起作用。
最佳答案
假设您不需要类级别的方法,您还可以将模块包含到一个类中,实例化该类的一个对象并调用 whoa
:
class C
include A::B
end
c = C.new
c.whoa
# Whoa!
关于ruby - 如何访问 Ruby 中另一个模块内的模块中定义的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17451527/