RubySpec #3401: arrays containing them selves do not apply == sensibly. http://redmine.ruby-lang.org/issues/show/3401 Author: Dominic Tarr Status: Open, Priority: Normal Category: lib a = [:a] a << a puts a => [:a [...]] b = [:a] b << b puts b => [:a [...]] #so , a == b? puts a == b => false #but they have the same structure... puts a.to_yaml == b.to_yaml => true #it looks like == compares the object_id's of arrays within arrays. #more evidence: c = [:a] c << a puts c => [:a, [:a, [...]]] #clearly, a distinctly different array. puts a == c => true puts a.to_yaml == c.to_yaml => false #this seems surprising behaviour to me ---------------------------------------- http://redmine.ruby-lang.org