Shu*_*ham 1 ruby ruby-on-rails
for i in (0..5)
if(i==0)
i=4
end
puts i
end
Run Code Online (Sandbox Code Playgroud)
在上面的程序中,我将输出除外 - 4 5
但相反,它是 - 4 1 2 3 4 5
所以我得出结论,循环变量没有改变.怎么能改变它?有人能告诉我吗?
实际上,在我的程序中,我需要保存当前的循环状态并稍后进行检索,以便在下一个启动程序从其剩余的同一点恢复.
你能够修改循环变量的唯一方法是使用while循环:
x = (2..7).to_a
i = 0
while (i < x.length)
i = 4 if i == 0
puts x[i]
i = i + 1
end
Run Code Online (Sandbox Code Playgroud)
输出:
6
7
Run Code Online (Sandbox Code Playgroud)
在for循环中,正如您所发现的那样,您可以修改循环变量,并且该值将适用于该循环的迭代.在下一次迭代中,它将从您指定的范围中检索下一个元素,这样您的修改后的值将基本上被覆盖.
| 归档时间: |
|
| 查看次数: |
2830 次 |
| 最近记录: |