我试图在Ruby中执行此代码:为什么'每个'迭代器都不通过整个数组?
array=[1,2,3,4,5]
array.each do |x|
puts array.length
puts "Downloading #{array.length} files"
array.pop
end
我:
5
Downloading 5 files
4
Downloading 4 files
3
Downloading 3 files
我不明白为什么我只得到三个迭代。我做错了什么(除了不使用while
循环)?
迭代时不要改变枚举值。这个问题在这里回答了数十万次。 – mudasobwa
相关问题:[更改.each循环中引用的数组元素的值?](http://stackoverflow.com/q/5646710/2620080) –
如果您提供了有关您需要的解释,我们可能会为您提供不同的解决方案。 –