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 com
mand, but not to the info exists command.
If the variable command is executed inside a Tcl proce
dure, it creates local variables linked to the correspond
ing namespace variables (and therefore these variables are
listed by info locals.) 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 vari
able does not exist, it is created and optionally initial
ized.
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.
SEE ALSO
global(n), namespace(n), upvar(n)
KEYWORDS
global, namespace, procedure, variable
Man(1) output converted with
man2html