On 29/06/06, Phillip Hutchings <sitharus / sitharus.com> wrote: > From experience Ruby keeps an array index to do each, so if something > inserted after obj it'll work, but something before will cause each to > get obj twice. Yep. You can see this in the 'why do only half the elements from my array get deleted?' problem: array = %w[a b c d e f g h i j k] array.each do |e| array.delete(e) end array # => ["b", "d", "f", "h", "j"] Paul.