[REBOL] Re: [Newbie]: Problems with lit-words
From: carlos:lorenz::gmail at: 27-Oct-2005 10:27
Gabriele,
These considerations about lit words were really clarifying to me also
Thank you
2005/10/27, Gabriele Santilli <gabriele-colellachiara.com>:
>
> Hi Silvia,
>
> On Thursday, October 27, 2005, 11:34:24 AM, you wrote:
>
> SB> Now if I do this:
>
> >>> set a ""
> SB> == ""
>
> SB> Why if I make this:
>
> >>> a
> SB> == b
> >>> b
> SB> == ""
>
> SB> I've this results? Why b got the value set for a? And a is still b?
>
> Let me try with an example.
>
> >> my-set: func [word value] [?? word ?? value]
> >> a: 'b
> == b
> >> my-set a ""
> word: b
> value: ""
> == ""
> >> my-set 'a ""
> word: a
> value: ""
> == ""
>
> As you can see, the actual arguments you are passing to SET are B
> and "", so it sets B to "". SET does not even see A; that's
> because arguments are evaluated, and A's value is B. If you want
> to pass A, instead of the value of A, you need to use 'A.
>
> This is the same thing that happens when you write something like:
>
> >> my-set 'a 1 + 1
> word: a
> value: 2
> == 2
>
> The function does not see "1 + 1", it gets the result of
> evaluating "1 + 1"; in the same way, you don't get A above, but
> the result of evaluating A, which is B.
>
> Hope this makes things a little bit clearer...
>
> Regards,
> Gabriele.
> --
> Gabriele Santilli <gabriele-rebol.com> --- http://www.rebol.com/
> Colella Chiara software division --- http://www.colellachiara.com/
>
> --
> To unsubscribe from the list, just send an email to
> lists at rebol.com <http://rebol.com> with unsubscribe as the subject.
>
--
*:-.,_,.-:*'``'*:-.,_,.-:
Carlos Lorenz
*:-.,_,.-:*'``'*:-.,_,.-: