如何在Ruby中重新定义Fixnum的(加)方法并保留原始功能?
发布时间:2020-12-17 04:23:30 所属栏目:百科 来源:网络整理
导读:这引发了我在1.9.2 Ruby中的SystemStackError(但在Rubinius中工作): class Fixnum def +(other) self + other * 2 endend 但是没有超级(基于其他错误). 如何访问原始功能? 解决方法 使用alias_method.别名Fixnum是其他东西,然后在新的中引用它: class Fix
这引发了我在1.9.2
Ruby中的SystemStackError(但在Rubinius中工作):
class Fixnum def +(other) self + other * 2 end end 但是没有超级(基于其他错误). 如何访问原始功能? 解决方法
使用alias_method.别名Fixnum是其他东西,然后在新的中引用它:
class Fixnum alias_method :old_add,:+ def +(other) self.old_add(other) * 2 end end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |