Can a constant be global?
Rob Cozens
rcozens at pon.net
Mon Mar 27 10:28:32 EST 2006
David, Graham, et al:
> As far as I know, constants are only valid in the current script.
> Globals are really "Global" but then they can't be initialized to a
> value when they are defined, which is why I assume constants can't be
> "Global".
There is little to be gained by declaring a constant as global, because
both globals and constants must be declared in each script that
references them.
Globals can be initialized:
global twoPi
put 2*3.1416 into twoPi
But they can also be changed by any handler at runtime.
> The only way I have found to make constants "Global" is to make and
> use a Library Stack that becomes a sort of poor man's constant.
Note that this approach generates runtime activity, whereas a true
constant is a compiler instruction that only comes into play at
compilation.
What I do is declare all constants in the library:
constant sdbConstant1= [constantValue]
...
...
constant sdbConstantn= [constantValue]
Then I copy the declarations for those constants referenced in a
specific script into that script.
constant sdbConstant6= [constantValue]
constant sdbConstant51= [constantValue]
constant sdbConstant187= [constantValue]
Just what Graham is trying to avoid having to do.
Rob Cozens
CCW, Serendipity Software Company
"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."
from "The Triple Foole" by John Donne (1572-1631)
More information about the use-livecode
mailing list