我有一个简单的Ruby模块。我可以用猴子补丁来修补一个Ruby类,但这次我想用猴子补丁来修补一个简单的Ruby模块。我试着用这种方法,但它不起作用。我认为它会起作用,因为当我用猴子补丁来修补一个简单的Ruby类时,它会起作用。
Mymodule.class_eval do
def self.function1
"monkey patched function1 >>>"
end
end
这是我们想要打补丁的原始Mymodule:
module Mymodule
def self.function1
'this is function1'
end
end
样品使用:
puts Mymodule.function1()
# -> output: this is function1
型
你知道怎么修补这个模块吗?
1条答案
按热度按时间wwtsj6pe1#
您只需重新打开类并重新定义
Mymodule.function1
。话虽如此,您提出的代码也运行良好: