Hi :-)

1) first, I would change your block to:

Names: [
 Bill_Smith  [
        workemail [EMAIL PROTECTED]
        homeemail [EMAIL PROTECTED]
        title "Engineer"
  ]
]

If you want to use path navigation, for e.g.

info: names/Bill_Smith

Now you are able to navigate even further:

names/Bill_Smith/workemail
== [EMAIL PROTECTED]

But sadly, I don't know how to substitute Bill_Smith value with some
referencing variable ...


2) you can use more general aproach - 'foreach

as for your example

foreach person names [

       print ["Name:" person/1]
       print ["Lastname: " person/2]

    foreach workemail person/4 [print ["Workemail: " workemail]]
    foreach homeemail person/6 [print ["Homeemail: " homeemail]]
    foreach title person/8 [print ["Title: " title]]


]


Now what's possible thru variable substitutes, and what is not

->> blk: [pekr "a" 'marek "b" "hyno" "c"]
== [pekr "a" 'marek "b" "hyno" "c"]
->> blk/pekr
== "a"
->> blk/marek
** Script Error: Invalid path value: marek.
** Where: blk/marek
->> blk/hyno
** Script Error: Invalid path value: hyno.
** Where: blk/hyno
->> blk/:hyno
** Script Error: hyno has no value.
** Where: blk/:hyno
->> hyno: "hyno"
== "hyno"
->> blk/:hyno
== "c"
->> marek: 'marek
== marek
->> blk/:marek
** Script Error: Invalid path value: marek.
** Where: blk/:marek
>>


Now what's possible using 'select:

->> print select blk pekr               ; it's clear - no word called pekr was
defined ...
** Script Error: pekr has no value.
** Where: print select blk pekr
->> print select blk 'pekr
a
->> print select blk 'marek
none
->> print select blk "marek"        ; there seems to be no way for selecting
literals?
none
->> print select blk "hyno"
c
->>


Hope this helps a little bit ...

-pekr-

> re
>
> Francois

Reply via email to