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