From: Jano Svitok Date: 2007-03-27T00:05:08+09:00 Subject: Re: syntax error, unexpected kOR On 3/26/07, nonno_lele wrote: > Hello there, > > I'm newbie with ruby and to be onest I'm quite surprised about a > strange behaviour I found: > > How the interpreter works with this lines looks odd to me: > > def dummy? > (true or false ) > end > > This one has no problem... and also this one: > > def dummy? > (true or > false ) > end > > But what happen when you split the boolean condition into 2 different > lines and u put the OR in the 2nd line?? > > def dummy?() > (true > or false ) > end > > U get *"syntax error, unexpected kOR, expecting ')' "* > > I agree that the interpreter is not able to undestand this one: > > def dummy?() > true > or false > end > > because of the missing () and return... but using the ( ) it should > work. > > At least using Return and ( ) should work.. > > def dummy?() > return (true > or false ) > end > > But it is not. > Where is my fault? Looks strange to me that an high level language > forces you to think about in which position you've to put the OR. The problem is that interpreter needs to know somehow that the line should continue. Putting 'or' or '||' at the end of the line tells it that. Other way is to use \ as the last character on the line. > Is there a way to force the interpreter to evaluate the block inside > the () before anything else? > > Thanks in advance , > > Regards, > > Em. > > > PS: ive found an old discussion about the same error but I'm not sure > this answer my question: > http://tinyurl.com/2852ns this is another problem. > PS2: using || instead of OR gives the same result. > > cheers.