Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: [Newbie]: Problems with lit-words

From: gabriele:colellachiara at: 27-Oct-2005 11:54

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/