假设我是猴子修补类中的方法,我怎么能从覆盖方法调用重写方法?就像有点像super
例如
class Foo
def bar()
"Hello"
end
end
class Foo
def bar()
super() + " World"
end
end
>> Foo.new.bar == "Hello World"
Run Code Online (Sandbox Code Playgroud) 我正在Ruby 1.9.2中编写一个定义了几个方法的模块.当调用这些方法中的任何一个时,我希望它们中的每一个首先执行某个语句.
module MyModule
def go_forth
a re-used statement
# code particular to this method follows ...
end
def and_multiply
a re-used statement
# then something completely different ...
end
end
Run Code Online (Sandbox Code Playgroud)
但我想避免a re-used statement在每个方法中明确地放置该代码.有办法吗?
(如果重要的话,a re-used statement每个方法在调用时都会打印自己的名字.它会通过一些变体来实现puts __method__.)