尽管多次尝试,我无法使用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