0
我只是想知道一些元編程。紅寶石元編程:通過方法創建方法
其實我需要在一個方法內創建一個方法,或者只是在一個塊的根類中創建一個方法。例如:
["method_a", "method_b"].each do |m|
Marshal.generate_a_method_called(m)
end
有人知道這有可能嗎?哪裏可以放置什麼方法?我的方法需要一個參數。
你的,
Joern。
我只是想知道一些元編程。紅寶石元編程:通過方法創建方法
其實我需要在一個方法內創建一個方法,或者只是在一個塊的根類中創建一個方法。例如:
["method_a", "method_b"].each do |m|
Marshal.generate_a_method_called(m)
end
有人知道這有可能嗎?哪裏可以放置什麼方法?我的方法需要一個參數。
你的,
Joern。
你可以使用define_method:
[:method_a, :method_b].each do |m|
define_method(m) do
# your method stuff
end
end
我不明白你的例子。您是否也爲該方法生成了源代碼?
所以我會用一個例子開始從書Perrotta: Metaprogramming Ruby
class MyClass
define_method :my_method do |my_arg|
my_arg * 3
end
end
obj = MyClass.new
obj.my_method(2) # => 6