gpt4 book ai didi

ruby - 类中包含的嵌套模块中的调用方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:30:51 26 4
gpt4 key购买 nike

我有以下配置:

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>

我如何实现上述目标?

谢谢。

最佳答案

模块 B 在 A 内部“定义”,它不“包含”在 A 中。这就是为什么在 C 中包含 A 模块时无法访问 #foo 实例方法的原因。您可以执行以下:

class C
include A::B
end

C.new.foo

关于ruby - 类中包含的嵌套模块中的调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9026837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com