MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Tcl Built-In Commands                                variable(1T)





NAME
     variable - create and initialize a namespace variable

SYNOPSIS
     variable ?name value...? name ?value?



DESCRIPTION
     This command is normally used within a namespace  eval  com-
     mand  to  create  one  or more variables within a namespace.
     Each variable name is initialized with value.  The value for
     the last variable is optional.

     If a variable name does not exist, it is created.   In  this
     case,  if  value  is  specified, it is assigned to the newly
     created variable.  If no value is specified, the  new  vari-
     able  is left undefined.  If the variable already exists, it
     is set to value if value is specified or left  unchanged  if
     no  value is given.  Normally, name is unqualified (does not
     include the names of any  containing  namespaces),  and  the
     variable  is  created  in  the  current  namespace.  If name
     includes any namespace qualifiers, the variable  is  created
     in the specified namespace.  If the variable is not defined,
     it will be visible to the namespace which command,  but  not
     to the info exists command.

     If the variable command is executed inside a Tcl  procedure,
     it  creates  local  variables  linked  to  the corresponding
     namespace  variables  (and  therefore  these  variables  are
     listed  by  info  vars.)   In  this way the variable command
     resembles the global command, although  the  global  command
     only  links  to  variables  in the global namespace.  If any
     values are given, they are used to modify the values of  the
     associated  namespace  variables.   If  a namespace variable
     does not exist, it is created and optionally initialized.

     A name argument cannot reference an element within an array.
     Instead,  name  should  reference  the entire array, and the
     initialization value should be left off.  After the variable
     has  been  declared,  elements  within  the array can be set
     using ordinary set or array commands.

EXAMPLES
     Create a variable in a namespace:
          namespace eval foo {
              variable bar 12345
          }





Tcl                     Last change: 8.0                        1






Tcl Built-In Commands                                variable(1T)



     Create an array in a namespace:
          namespace eval someNS {
              variable someAry
              array set someAry {
                  someName  someValue
                  otherName otherValue
              }
          }

     Access variables in namespaces from a procedure:
          namespace eval foo {
              proc spong {} {
                  # Variable in this namespace
                  variable bar
                  puts "bar is $bar"

                  # Variable in another namespace
                  variable ::someNS::someAry
                  parray someAry
              }
          }


SEE ALSO
     global(1T), namespace(1T), upvar(1T)


KEYWORDS
     global, namespace, procedure, variable

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     
       ATRIBUTE TYPE     ATRIBUTE VALUE
    
     Availability         SUNWTcl        
    
     Interface Stability  Uncommitted    
    

NOTES
     Source for Tcl is available on http:/opensolaris.org.











Tcl                     Last change: 8.0                        2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™