我遇到了这个奇怪的错误,其中Enumerator跳过了中间元素对象。在这件事上我的脑子被破坏了。 http://pastie.org/6636093枚举器跳过元素。无法弄清楚为什么
@job.data['dj_ids'] = [1,2,3]
dj_ids = @job.data['dj_ids'] # => [1,2,3]
dj_ids.each do |t|
puts t
@job.data['dj_ids'].delete(t)
end
# Output:
# 1
# 3
# @job.data['dj_ids'] => [2]
它很奇怪,[2]甚至从未被调用,因此不被删除。我似乎无法弄清楚可能是什么原因。
MRI Ruby 1.9.3。