Hi Romano,
this was *very* helpful for me!
And I guess there are others out there being happy with your explanation.
Thanks again,
Arie
Romano Paolo Tenca wrote:
>Arie van Wingerden wrote:
>
>
>
>>Hi Ladislav / Romano,
>>
>>in order to get a grip I played around with your examples, but I don't
>>understand the following:
>>why give the following 2 cases different results?
>> 1 >>unset 'var
>> >>unset? 'var
>> == false
>> 2 >>unset? unset 'var
>> == true
>>
>>The only thing I can think of is that unset! is not a datatype of the
>>variable being unset.
>>E.g. after unset 'x x would not have a datatype of unset! (which I thought
>>was true).
>>Instead unset! would just be the returned value of unset itself only.
>>
>>
>>
>>
>1a)
> unset 'var
>
>what happens?
>
> - the lit-word! <var> is evaluated and become the word <var>
> - unset receives the word <var> and unsets the value of the word <var>
>
>1b) unset? 'var
>
>what happens?
>
> - the lit-word! <var> is evaluated and become the word <var>
> - unset? receives the word <var> and answers:
> "false: the value <var> is not an unset! value (it is a word!)"
> - you can test this with:
> word? 'var ; == true
>
>2) unset? unset 'var
>
>what happens?
>
> - the lit-word! <var> is evaluated and become the word <var>
> - unset receives the word <var> and unsets the value of the word <var>
> - unset returns unset!
> - unset? receives the values unset! and answers "true: the value
><unset!> is an unset! value"
> - now you can test the value of <var> with one of :
> value? 'var ; == false
> which is the opposite of::
> unset? get/any 'var ;==false
>
>The unset/unset?/value? stuff is a little strange at the beginning, but
>when you get the whole frame, all becomes clear.
>
>
>
--
To unsubscribe from the list, just send an email to
lists at rebol.com with unsubscribe as the subject.