>>> a = []
>>> a.append(a)
>>> b = []
>>> b.append(b)
>>> a == b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: maximum recursion depth exceeded in cmp
Ruby seems to return false irb(main):001:0> a = [] => [] irb(main):002:0> a.push(a) => [[...]] irb(main):003:0> b = [] => [] irb(main):004:0> b.push(b) => [[...]] irb(main):005:0> a == b => false