我见过一个看起来像这样的红宝石块:
Vagrant::Config.run do |config|
module MyModule
end
end
在块内声明这样的模块有什么影响?
编辑:
具体来说,当虚拟机终止时,我有一个块要做一些清理工作,看起来像
Vagrant::Config.run do |config|
# vagrant config stuff
module Vagrant
module Provisioners
class ChefClient < Chef
def cleanup
# cleanup here
end
end
end
end
end
如果模块是在 Vagrant::Config 块之外定义的,我会收到错误
'<module:Provisioners>': uninitialized constant Vagrant::Provisioners::Chef (NameError)
而且我不确定为什么在 run 块中声明模块会有所不同。