preconditions command action resultant state
global var local var   global var local var default var global var local var
any/set/unset 1   used/unused=blank set/unaffected=blank
any any > var=foo       set  
set any > go task used        
unset any > go task     used set 2  
any unset > task() 3     used    
any unset > task(var=foo) 3   uses foo      
we can do this now, but if we get rid of it, maybe life is clearer; parens mean no globals
any any > go task(var=foo)   uses foo   set 2  
if we had sticky locals we could do these, but I don't think its worth it
any unset > task() 3     used   set to default
any set > task() 3   used      
any unset > task(var=foo) 3         set to foo
any set > task(var=foo) 3         set to foo


1. "setting" local variables aka sticky locals is not currently implemented. resultant state for "local" us thus always unaffected in the current scheme

2. current behaviour sets global based on default or local, in my opinion it should not.

3. these lines are intended to represent some syntax that means "don't use globals". It is not currently clear that this is implemented, but could be easily. Whysong suggestion is "if you used parens, you ignore globals".

4. Crystal suggests eliminating this option for simplicity; you're left with a syntax like go for using globals, and if you put the parentheses, you invoke the other syntax, and don't use globals, i.e. like using miriad interactively or not interactively.

-- RemyIndebetouw - 02 Apr 2008

This topic: Software > WebHome > LegacyCASA > CasaVariableScope > ScopeUseCases
Topic revision: 2008-04-04, RemyIndebetouw
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback