我有以下配置:
module A
module B
def foo
puts "foo"
end
end
end
class C
include A
end
c = C.new
c.foo
NoMethodError: undefined method `foo' for #<C:0x8765284>
Run Code Online (Sandbox Code Playgroud)
我如何实现上述目标?
谢谢.
模块B在A中"定义",它不包含在A中.这就是当您在C中包含A模块时无法访问#foo实例方法的原因.您可以执行以下操作:
class C
include A::B
end
C.new.foo
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2114 次 |
| 最近记录: |