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