儘管多次嘗試,我無法使用define_method()創建一個方法並提供一個方法。使用define_method和下面的ruby文檔
如果我的理解是可以在這裏找到http://www.ruby-doc.org/core-1.9.3/Module.html的模塊類的文檔,我應該能夠做到以下任一操作:
define_method(符號,法)→NEW_METHOD
define_method(符號) {塊}→PROC
我能夠使用define_method(符號){塊}但是我收到似乎是一個方法(而不是在文檔概述了一個進程我掛):
class M
define_method(:hello) { puts "Hello World!"}
end
M.new.hello
我在這裏的兩個問題是: 1.做上述我似乎並沒有收到一個proc,儘管文檔清楚地說明這就是我會得到的。 2.我不知道如何提供一個「define_method(符號,方法)→new_method」的方法,我試過Google搜索無濟於事,不知道如何使用這種形式的define_method。
如果任何人可以請擺脫這一點,將不勝感激! :) 非常感謝!
你可以發佈你實際想要做的事嗎?從你發佈的小代碼中確實不清楚。 – meagar
對我來說(1.9.3p194),運行'define_method(:foo){puts「foo」}'會返回一個proc:'=>#' –
pje
I我只跟隨rubymonk.com,這被證明是一個很好的資源,只是想了解我自己的關於define_method()和method()的更多信息,因爲我不確定我是否理解文檔,似乎define_method既可以定義一個實例方法,但仍然返回 – dreamwalker