pez*_*ser 4 ruby reverse monkeypatching
如果您的同事"打开"("monkeypatches")Ruby中的一个类并重新定义了您需要使用的一些重要功能,那么如何在不破坏已经依赖于其monkeypatched定义的系统的情况下访问原始的monkeypatched功能?
给定方法覆盖的示例,如果您可以在加载猴子补丁之前加载一些代码,那么您可以为该方法添加别名.
class Fixnum
alias_method :original_plus, :+
end
class Fixnum
def +(x)
self - x
end
end
>> 5 + 3
=> 2
>> 5.original_plus(3)
=> 8
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
403 次 |
| 最近记录: |