我有一個關於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