[REBOL] Re: Looking over the horizon - Rebol 3
From: Steven:White:ci:bloomington:mn:us at: 10-Nov-2003 14:37
>>> [ingo--2b1--de] 11/10/03 01:23PM >>>
> I would like my script to be able to obtain a list of all the words
> that I created when I wrote the script.
>Do you mean something like this?
>> query/clear system/words
== [end! unset! error! datatype! context! native! action! routine! op!
function! object! struct! library! port! any-type! any-word!...
>> a: 2
>> set 'b "hi"
>> c: func[print 'done]
>> query system/words
== [c a b]
I do not think so. In the example below, MY-WORDS is a block listing
the words that I have created in the script. The function
FORMATTED-MEMORY-DUMP prints the values of those words. In order for
FORMATTED-MEMORY-DUMP to know what words and values to print, I had to
specify the words in the block MY-WORDS.
If the words in the block MY-WORDS could be obtained from the REBOL
interpreter, then the function FORMATTED-MEMORY-DUMP could be modified
to be used in any script, and I would not have to provide a list of
words to be "dumped." (MY-WORDS). In addition, if I modified the
script, and added DATA-NAME-4, the FORMATTED-MEMORY-DUMP procedure would
list the new item without me having to make any coding changes.
I believe someone on this list mentioned an un-implemented concept of
system/script/words that would, if implemented by RT, solve this.
*_*_* SAMPLE SCRIPT
MY-WORDS: [ DATA-NAME-1 DATA-NAME-2 DATA-NAME-3 ]
DATA-NAME-2: "THIS IS A TEST"
FORMATTED-MEMORY-DUMP: does [
foreach MY-WORD MY-WORDS [
PRINT [ MY-WORD
" is of type " type? get MY-WORD
" and is equal to " get MY-WORD ]
*_*_*__ END OF SAMPLE
City of Bloomington
1800 W Old Shakopee Rd
Bloomington MN 55431-3096