cross-stack globals, also, file inclusion

J. Landman Gay jacque at hyperactivesw.com
Thu Oct 23 11:27:47 EDT 2003


On 10/23/03 9:05 AM, Rob Cozens wrote:

> Hi Jacque,
> 
> Do you really see custom properties as the preferred means of declaring 
> constants?  Suppose pi was not a built-in constant.  Would you "get the 
> piConstant of this stack" for every stack that used pi? Would you "get 
> the piConstant of stack constantLibrary" or "get line piConstantLine of 
> the constantList of stack constantLibrary" (with piConstantLine being 
> another constant)?

Yes, I'd get it for each script that needed it if it weren't used too 
often, and I might even get it individually for each handler if it were 
only very rarely used. If it were used all over the place, I'd put the 
value into a global variable just once on startup or openstack.

I think you mentioned needing to load hundreds of constants. For 
something like that, I'd store them all as an array in a custom property 
and just load the array into a global variable when the stack opened. 
It's very fast.

> If one must "set the piConstant of this stack to 
> 3.14159265358979323846", what's the advantage over "constant piConstant 
> = 3.14159265358979323846" in the stack script?

Well, of course, we can already do this; the only difference is that the 
constant is script-local rather than global. Loading the value into a 
global variable would take care of that. As Pierre mentioned, the 
primary advantage is simply in keeping the language elegant and 
streamlined. There is already a means to do what we want. Understand 
though that I have no particular objections to adding global constants, 
I just don't see the need for them, nor have I ever missed them in my 17 
years of scripting.

-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com



More information about the use-livecode mailing list