Hola Javier,
Words: There are three possible states for words:
1. literal word
2. word bound to value
3. word not bound to value
1. and 2. REBOL accepts. 3. causes an error:
re 1. The tick can be used to create a literal word
>> print 'literal-word
literal-word
>>
re 2. word bound to a value:
>> word-with-value: "this word's value."
== "this word's value."
>> print word-with-value
this word's value.
re 3. Word that is not bound to a value and is not a literal word:
>> print word-no-value
** Script Error: word-no-value has no value.
** Where: print word-no-value
Now, when you have a word in a block [ some-word ], then to REBOL that
word, as long as it is part of the block, is a liter word, not a bound word:
>> print first [some-word]
some-word
See how REBOL does not complain - as it did for word-no-value - but instead
acts as it did with literal word.
Therefore, when you have a construct like
insert block [variable1 variable2 variable3]
what is inserted are the literal words variable1 variabl2 and variabl3.
If you want to use a block AND you want the values, not the literal words,
you must use the word reduce:
insert block reduce [variable1 variable2 variable3]
What reduce does is it takes every literal word in the block, evaluates it
as a word with value and returns a block, where is word has been replaced
by its value:
Example:
>> variable1: "this is variable1."
== "this is variable1."
>> variable2: "this is variable2."
== "this is variable2."
>> variable3: "this is variable3."
== "this is variable3."
>> variable-block: [variable1 variable2 variable3]
== [variable1 variable2 variable3]
;- No reduce
>> variable-block
== [variable1 variable2 variable3]
;- With reduce
>> reduce variable-block
== ["this is variable1." "this is variable2." "this is variable3."]
Note that print automatically reduces blocks.
Hope this helps,
Elan
At 03:00 AM 12/14/99 -0600, you wrote:
>Hola [EMAIL PROTECTED]
>
>El 13-Dec-99, usted escribio:
>
>> Try
>>>> citas: [
>> [ ["Javier Delgado" [EMAIL PROTECTED] 8:30 1/12/1999]
>> [ ["Pancho lopez" [EMAIL PROTECTED] 9:00 2/12/1999]
>> [ ["Margarita Masa" [EMAIL PROTECTED] 8:30 4/08/1999]
>> [ ]
>
>> Note that I've embedded each record in its own block.
>
>that makes sense, but why the examples in the rebol page are
>organizend the other way?
>
>>>> sort citas
>> == [["Javier Delgado" [EMAIL PROTECTED] 8:30 1-Dec-1999] ["Margarita
>> Masa" Margarita@closeup.
>
>ok, I new there should be an easy way, thanks :))
>
>>>> third second citas
>> == 8:30
>
>humm, beautifull :))
>
>>> but if i have defined the block with make block!,
>> I don't quite understand what you mean here
>I had tried to define citas as:
> citas: make block! [varible1 variable2... etc]
>
>when i do that a declaration like:
>insert citas [variable1 variable2 varible3.. etc]
>would insert the vaible names, instead
>of the variable values. There should be a
>reason for that but i still cant figure why...
>
>
>> this is what it prints? Look:
>>>> print citas
>
>what is the diference between
>print citas and print [citas]
>
>if i define this with the make block! statement
>there is a diference,
>
>> This last point confuses me a bit as well. I'm not sure what you were
>> doing to have REBOL print citas/
>
>I just was trying to see the content of the variable,
>I am writtin a cgi script,
>the get method, mail and ftp were easy,
>but i still ned more work to
>understand blocks and series...
>
>i am spoiled with arexx where there is no
>data types... :))
>
>Thank you very much, this is a very good start. :))
>
>Atentamente, Javier Delgado
>--
>Paralax Multimedia S.A. Mexico D.F.
> http://www.paralax.com.mx
>
>Producci�n de Video, Video3d, animacion 3d kioskos
>tel/fax <5>373 36 20 , Calzada de las Armas16 Naucalpan
>----------------------------------------------
>Personal http://www.paralax.com.mx/Javier
>http://www.paralax.com.mx/Eyim
>icq : 40740225 JavierD
>
>
>
>