Henrik Mikael Kristensen napsal(a):

>On Aug 30, 2005, at 9:50 AM, Behrang Saeedzadeh wrote:
>
>  
>
>>Hi
>>
>>I'm kinda new to REBOL. Actually I was a member of this list about two
>>years ago and I was registered with my Yahoo! account. I felt like
>>that I'm really missing REBOL so I've joined the list once again :-)
>>
>>In the online manual at
>>http://www.rebol.com/docs/core23/rebolcore-3.html it's written that:
>>
>>"The values and words of a block are always evaluated from first to  
>>last...=
>>"
>>
>>So I expected the following statement, without the parantheses of
>>course, return 6 but it is erroneous:
>>
>>length? "boat" + 2
>>
>>Can someone please explain the reason behind this behaviour?
>>    
>>
>
>That's because length? "boat" returns it's value to the physical left  
>of itself, e.g.:
>
>4 <- length? "boat"
>
>and not
>
>length? "boat" -> 4
>
>+ requires a value on each side where the one on the left, returns a  
>value to its right, e.g.:
>
><value> -> + <- <value>
>
>but your statement produces:
>
><- <value> + <- <value>
>
>The (very) new Wikibook has a bit about this, actually:
>
>http://en.wikibooks.org/wiki/ 
>Programming:REBOL#Simple_Programming_in_the_Console
>
>The part about parentheses is not entirely accurate yet, but it  
>should fit with what you need.
>
>--
>Regards,
>Henrik Mikael Kristensen
>
>
>  
>
Actually, the reasoning is different. The fact is, that the + operator 
has precedence over the length? function. Therefore the first opearation 
the interpreter tries to evaluate is:

    "boat" + 4

, which results in an error.

-L
-- 
To unsubscribe from the list, just send an email to 
lists at rebol.com with unsubscribe as the subject.

Reply via email to