From: Shashank Date Date: 2004-11-26T03:12:57+09:00 Subject: Re: Why does this parse? Michael Campbell wrote: > Just ran down an interesting 'bug' in my code, but I'm confused as to > why it parses at all. Can someone explain to me what the parser is > doing in this case? (Please cc: me directly also please; I don't > want to miss the answer.) > > if (x != y || > x != z > y != z) > puts "foo" > end > My guess: it is parsing it as two expressions, like so: if ( x != y || x != z; y != z ) <--- first -----> <-- 2nd --> Ruby is very expressio-oriented. > (notice the missing "||" after the second comparison) HTH, -- shanko