Hmm. I would have expected it to always return false, but not balk at the syntax. Why doe it? 100 == 100 -> true (100 == 100) == 100 -> false (because false != 100) 100 == 100 == 100 -> error (?) Maybe it's better for the 'terp to do this, than to violate expectations (a programmer who says a==b==c almost certainly means "a==b and b==c"). Still, why does it happen? Mark ts wrote: > > >>>>> "C" == CAMS <cams89 / hotmail.com> writes: > > C> if (this[x] == this[y] == this[z] and this[x] != '') > > C> Is this not valid Ruby syntax? > > Not valid, ruby don't understand 'a == b == c' > > Guy Decoux