假设我是猴子修补类中的方法,我怎么能从覆盖方法调用重写方法?就像有点像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中,有没有办法使用proc重新定义类的特定实例的方法?例如:
class Foo
def bar()
return "hello"
end
end
x = Foo.new
y = Foo.new
Run Code Online (Sandbox Code Playgroud)
(就像是):
y.method(:bar) = lambda { return "goodbye" }
x.bar
y.bar
Run Code Online (Sandbox Code Playgroud)
生产:
hello
goodbye
Run Code Online (Sandbox Code Playgroud)
谢谢.