我有一个关于define方法的问题。 我有这个类定义方法来创建接受变量的方法
class A
def create_method(name,&block)
self.class.send(:define_method, name, &block)
end
end
a = A.new
a.create_method("dyn_meth") {puts "this is dynamic method"}
a.dyn_meth
我设法创建方法名“dyn_meth”,但现在我想创建方法名“dyn_meth2”,在正常情况下接受变量是:
def dyn_meth2(var1,var2,&block)
puts "var1 = #{var1} . var2 #{var2}
block.call
end
怎么能我使用define_method来创建“dyn_meth2”?
谢谢,很多:) – fitram 2013-03-12 08:00:55
没问题! :) – 2013-03-12 08:12:28
你错过了最后两个'create_method'参数中的结束引号。有人没有真正运行代码并将输出粘贴到示例中。 ;-) – 2013-03-12 12:40:09