Digging Huge Files

Jim Ault jimaultwins at yahoo.com
Wed Aug 5 15:54:10 EDT 2009


Tip:
There are globals, script locals, and handler locals.

Globals belong to Revolution, not the stack or script that created  
them in memory.
These values persist even if the stack is removed from memory.

Script locals are kept in memory as long as the stack is open.
In a way. like globals, but these are only available to handlers and  
functions in the *same* script.
Declaring a script local variable "shoebox" in different script  
containers creates separate shoeboxes.  Each shoebox will die when the  
script is removed from memory.
---- the script of card 1 "Husband's closet"---
    local shoebox
    put "brown loafers" into shoebox

---- the script of card 2  "Wife's closet"  ---
    local shoebox
    put "sequin pumps" into shoebox

... and you now have two shoeboxes in two places

Handler locals die at the end of the handler process.
on doThisQuickly
    local shoebox
    --and now we are done
end doThisQuickly
... and now this shoebox is gone

global shoebox
... not a good idea to name a global and a local the same
Usual convention is to use  gShoebox for a global name
My convention is to use
zShoebox so that all the globals are shown at the bottom of the  
Variable Watcher
xShoebox so that all the script locals are shown just above the  
globals in the Variable Watcher

Hope this helps someone out there.

Jim Ault
Las Vegas


On Aug 5, 2009, at 12:21 PM, Sivakatirswami wrote:

> 1) I thought local variables are always initialized to empty after  
> each run of  script.
> Is there something I'm missing there?
>
> global tStart
> local tPartials,tRevHits,tCompleted # these were acting as globals?

Jim Ault
jimaultwins at yahoo.com






More information about the Use-livecode mailing list