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 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(3,n) 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(7,n,1 builtins) to value if(3,n) value is specified or left unchanged if(3,n) no value is given. Normally, name is unqualified (does not include the names of any containing namespaces), and the variable is created in(1,8) the current namespace. If name includes any namespace qualifiers, the variable is created in(1,8) the specified names- pace. If the variable is not defined, it will be visible to the names- pace which command, but not to the info(1,5,n) 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(1,5,n) locals.) In this way the variable command resembles the global command, although the global com- mand only links to variables in(1,8) 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 value should be left off. After the variable has been declared, elements within the array can be set(7,n,1 builtins) using ordinary set(7,n,1 builtins) or array commands. SEE ALSO global(n), namespace(n), upvar(n) KEYWORDS global, namespace, procedure, variable Tcl 8.0 variable(n)