我想通过在定义类后在类上调用一个include来覆盖下面的call方法。重要的部分是允许“其他”代码抽象地决定要包含哪个模块,而不是“打开”该类并使用“ include”
示例:
module Test1
def call
puts "Test1"
end
end
class MyClass
def call
puts "MyClass"
end
end
MyClass.include(Test1)
x = MyClass.new
x.call
输出:
MyClass
所需的输出:
Test1
经过Ruby 2.4.3p205测试
答案 0 :(得分:0)
嗯...解决方案是使用前置而不包括。
MyClass.prepend(Test1)