我有一个包含此代码段的Vagrantfile:
for j in 1..3
config.vm.define "zookeeper#{j}" do |s|
puts j
end
puts "#{j}"
end
我的目标是在每次迭代时根据j
的值设置IP,但是当Vagrant创建虚拟机时,值始终为3(迭代的最后一个值)
这将打印以下内容:
1
2
3
3 <-- should start with 1
3
3
如何使用每次迭代的值而不是j
的最终值?
答案 0 :(得分:0)
问题与this question基本相关:
for循环获得自己的执行上下文,它以副本开头 当前执行上下文,但它没有得到自己的一组 局部变量绑定
我为每个人更改了for,现在它可以工作了:
(1..3).each do |j|
config.vm.define "zookeeper#{j}" do |s|
puts j
end
end