mko*_*mko 5 ruby metaprogramming
我注意到了类定义,如果我打开它class MyClass
,并在两者之间添加一些东西而不覆盖我仍然得到了之前定义的原始方法.新增的声明增加了现有声明.
但是对于方法定义,我仍然希望与类定义具有相同的行为,但是当我打开def my_method
,def
并且end
被覆盖的现有语句时,我需要再次重写它.
那么是否有任何方法可以使方法定义与定义相同,例如super
,但不一定是子类?
我想你正在寻找alias_method:
class A
alias_method :old_func, :func
def func
old_func # similar to calling 'super'
# do other stuff
end
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1762 次 |
最近记录: |