Shashank Date
11/25/2004 6:13:00 PM
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