在尝试提高我的Ruby技能时,我一直在讨论这个案例,我只能通过阅读API文档找不到解释.非常感谢您的解释.这是示例代码:
for name in [ :new, :create, :destroy ]
define_method("test_#{name}") do
puts name
end
end
Run Code Online (Sandbox Code Playgroud)
我希望/期望发生的是name变量将被绑定到给定的块,define_method并且当#test_new被调用时它将输出"new".而是每个定义的方法输出"destroy" - 分配给name变量的最后一个值.我define_method对它及其障碍有什么误解?谢谢!