我有一类Foo:动态添加语句的方法
class Foo
def a
"something" if true
end
end
我想要一个add_statement
方法,将新语句添加到方法,保持旧的实现。可能吗?
我想要做这样的事情:
foo = Foo.new
foo.extend_method(:a, &block)
所以现在我a
方法的来源应该是这样的:
def a
"something" if true
&block
end
其中&block
是我作为参数传入的代码extend_method
。
'define_method(:add_statement,instance_method(:a))' –
看来你想创建一个新方法,它包含'a'中的语句以及其他语句。你是这个意思吗?请编辑并添加示例。 (标题中的“动态”拼写错误。) –
我编辑它,检查它 – Alan