This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



variable(n)                                 Tcl Built-In Commands                                variable(n)



____________________________________________________________________________________________________________

NAME
       variable - create and initialize a namespace variable

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


DESCRIPTION
       This  command is normally used within a namespace eval command 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  variable  is  left  unde-fined. undefined.
       fined.  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
              }

       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(n), namespace(n), upvar(n)


KEYWORDS
       global, namespace, procedure, variable



Tcl                                                  8.0                                         variable(n)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the Tcl project.
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the Tcl project through their bug reporting page.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...