【发布时间】:2014-09-22 18:59:01
【问题描述】:
array=['red', 'green', 'blue', 'purple']
array.each do | color |
puts(color)
if color == 'green'
array.delete(color)
end
end
这会打印出红色、绿色、紫色。我知道 array.delete 以某种方式弄乱了迭代,但我的问题是为什么以及如何?引擎盖后面发生了什么?如果我将 array.delete(color) 替换为 array
【问题讨论】: