Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| end
ruby代码看起来像
(0..5).each do |i| ... end
所以
(0..5).each do |i|
puts "Value of local variable is #{i}"
end
它循环0到5,将每个项目分配给i,然后是" do ... end"会对我做点什么。
现在让我们看看
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| end.
是不是意味着?
Vagrant.configure(VAGRANTFILE_API_VERSION)
与
类似(0..5).each
答案 0 :(得分:2)
块与循环无关。这只是一个关闭。当方法调用yield
时,将调用传递的块。块执行后,原始方法继续。
def understanding_blocks
puts 1
puts yield
puts 3
end
如果你跑了:
understanding_blocks do
2
end
你会看到
1
2
3
在Ruby中,所有方法都可以隐式地使用块,这就是我不必定义参数的原因。我可以拥有。您可以使用block_given?
答案 1 :(得分:1)
它将空块传递给Vagrant.configure
所做的任何事情。没有效果,可以省略,因为它是多余的:
Vagrant.configure(VAGRANTFILE_API_VERSION)