作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
假设存在以下代码:
module Foo
def test(x)
"Foo #{x}"
end
end
module Bar
def test(x)
"Bar #{x} " + super
end
end
class C
include Foo
include Bar
end
puts C.new.test(2)
# => "Bar 2 Foo 2"
我无法访问 C 类的代码,也无法访问模块 Foo 和 Bar。
我想在 Foo 和 Bar 之间包含一个模块,这样:
module Between
def test(x)
"Between " + super
end
end
puts C.new.test(2)
# => "Bar 2 Between Foo 2"
这是如何实现的?
最佳答案
module Bar; include Between end
class C; include Bar end
puts C.new.test(2)
#=> Bar 2 Between Foo 2
但是请注意,在实践中,应避免这种无意义的模块杂耍。
关于ruby - 如何在 2 个其他已包含的模块之间混合 ruby 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16252090/
我是一名优秀的程序员,十分优秀!