Provided by: tcl-itcl4-doc_4.2.4-1_all 

NAME
itcl::local - create an object local to a procedure
SYNOPSIS
itcl::local className objName ?arg arg ...?
________________________________________________________________________________________________________________
DESCRIPTION
The local command creates an [incr Tcl] object that is local to the current call frame. When the call
frame goes away, the object is automatically deleted. This command is useful for creating objects that
are local to a procedure.
As a side effect, this command creates a variable named "itcl-local-xxx", where xxx is the name of the
object that is created. This variable detects when the call frame is destroyed and automatically deletes
the associated object.
EXAMPLE
In the following example, a simple "counter" object is used within the procedure "test". The counter is
created as a local object, so it is automatically deleted each time the procedure exits. The puts
statements included in the constructor/destructor show the object coming and going as the procedure is
called.
itcl::class counter {
private variable count 0
constructor {} {
puts "created: $this"
}
destructor {
puts "deleted: $this"
}
method bump {{by 1}} {
incr count $by
}
method get {} {
return $count
}
}
proc test {val} {
local counter x
for {set i 0} {$i < $val} {incr i} {
x bump
}
return [x get]
}
set result [test 5]
puts "test: $result"
set result [test 10]
puts "test: $result"
puts "objects: [itcl::find objects *]"
KEYWORDS
class, object, procedure
itcl local(3itcl)