variable(3tcl)
π variable(3tcl) π
okay bestie, welcome to the Tcl Built-In Commands manual page for variable. It's giving namespace housekeeping, but make it cute. Let's go. π«Ά
β¨ NAME β¨
variable β create and initialize a namespace variable. π
β¨ SYNOPSIS β¨
variable name
variable ?name value...?
β¨ DESCRIPTION β¨
okay so variable is normally used inside 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. optional optional, we love options. β¨
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. periodt. π
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. iykyk. π
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 resolves variable names with respect to the global namespace instead of the current namespace of the procedure. 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. fr fr. π
β οΈ Anameargument cannot reference an element within an array. Instead,nameshould 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 ordinarysetorarraycommands. bestie, don't try to sneak into an array element here, it's not the vibe. π
β¨ 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 β¨
β¨ KEYWORDS β¨
globalnamespaceprocedurevariable
okay that's the whole page, bestie. The footer says Tcl 8.0 and the tag is variable(3tcl). slay, go namespace responsibly. πβ¨
π¦ where this page comes from
- ubuntu resolute: tcl9.0-doc 9.0.3+dfsg-1
- ubuntu stonking: tcl9.0-doc 9.0.4+dfsg-1
- Copyright (c) 1993-1997 Bell Labs Innovations for Lucent Technologies
- Copyright (c) 1997 Sun Microsystems, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms