NAME
local - create an object local to a procedure
SYNOPSIS
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 proce
dure.
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.
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]
}
puts "test: $result"
set result [test 10]
puts "test: $result"
puts "objects: [info objects]"
KEYWORDS
class, object, procedure
Man(1) output converted with
man2html