Ruby 如何在从外部获得prepend后调用原始方法
我正在重构一些旧代码以适应Ruby>2。还有一些我想删除的Ruby 如何在从外部获得prepend后调用原始方法,ruby,class,prepend,Ruby,Class,Prepend,我正在重构一些旧代码以适应Ruby>2。还有一些我想删除的alias\u method\u chain 但是,在某些地方,会调用without方法。在方法内部,我必须super确定,但从外部 现提供以下资料: module ExtraLog def log puts "ExtraLog" super end end class Klass prepend ExtraLog def log puts "Log" end end a = Klass.n
alias\u method\u chain
但是,在某些地方,会调用without方法。在方法内部,我必须super
确定,但从外部
现提供以下资料:
module ExtraLog
def log
puts "ExtraLog"
super
end
end
class Klass
prepend ExtraLog
def log
puts "Log"
end
end
a = Klass.new
a.log
#=> "ExtraLog"
#=> "Log"
如果不调用带前缀的方法,现在如何调用原始的log方法?类似于a.original\u log
?:
你解决了吗?是的,非常感谢!如果我的答案对你有效,你可以接受它(在答案的分数下面找一个复选标记)
a.method(:log).super_method.call
#=> Log