I gave a small example of some code that I have that checks to see if a variable named class-name value assigned to it:
ask-params: function [ config-file [file!] default-class-name default-fields ] [ probe value? 'class-name input either (value? 'class-name) [ probe class-name ] [ ;-- omit code in this branch for now ] ] ret-block: ask-params %simple-class.params.txt "Person" "First Name, Last Name"
The expression value? 'class-name value? 'class-name here returns false. On the other hand, if I populate the missing branch with an assignment:
ask-params: function [ config-file [file!] default-class-name default-fields ] [ probe value? 'class-name input either (value? 'class-name) [ probe class-name ] [ class-name: default-class-name ] ] ret-block: ask-params %simple-class.params.txt "Person" "First Name, Last Name"
Will this return true for value? 'class-name value? 'class-name . But in this second case, class-name: default-class-name has not yet been executed.
I would have thought that the class name should not exist in memory, so value? 'class-name value? 'class-name should return false. Why value? returns true instead?
source share