Nic*_*ilt 4 ruby metaprogramming ruby-on-rails
这是一个很大的提交.但我希望你专注于这个改变块.http://github.com/rails/rails/commit/d916c62cfc7c59ab6411407a05b946d3dd7535e9#L2L1304
即使不了解代码的完整上下文,我也无法想到我将使用的场景
include Module.new {
class_eval <<-RUBY
def foo
puts 'foo'
end
RUBY
}
Run Code Online (Sandbox Code Playgroud)
然后最终结果是在根上下文(之前的自我include Module.new)中foo添加了一个被调用的方法.
如果我拿出的Module.new代码,如果我只留下class_eval在这种情况下,我也将有一个名为方法foo中self.
我错过了什么
| 归档时间: |
|
| 查看次数: |
729 次 |
| 最近记录: |