NAME
variable - create and initialize a namespace variable
SYNOPSIS
vvaarriiaabbllee ?name value...? name ?value?DESCRIPTION
This command is normally used within a nnaammeessppaaccee eevvaall command to createone or more variables within a namespace. Each variable name is ini-
tialized 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 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 thevariable is created in the current namespace. If name includes any
namespace qualifiers, the variable is created in the specified names-
pace. If the variable is not defined, it will be visible to the nnaammeess-
ppaaccee wwhhiicchh command, but not to the iinnffoo eexxiissttss command. If the vvaarriiaabbllee command is executed inside a Tcl procedure, it createslocal variables linked to the corresponding namespace variables (and
therefore these variables are listed by iinnffoo llooccaallss.) In this way the
vvaarriiaabbllee command resembles the gglloobbaall command, although the gglloobbaall com-
mand only links to variables in the global namespace. If any values
are given, they are used to modify the values of the associated names-
pace 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 valueshould be left off. After the variable has been declared, elements
within the array can be set using ordinary sseett or aarrrraayy commands.SEE ALSO
global(n), namespace(n), upvar(n) KKEEYYWWOORRDDSSglobal, namespace, procedure, variable
Tcl 8.0 variable(n)