set - Read and write variables
set varName ?value?
set(1t) Tcl Built-In Commands set(1t)
______________________________________________________________________________
NAME
set - Read and write variables
SYNOPSIS
set varName ?value?
______________________________________________________________________________
DESCRIPTION
Returns the value of variable varName. If value is specified, then set
the value of varName to value, creating a new variable if one does not
already exist, and return its value. If varName contains an open
parenthesis and ends with a close parenthesis, then it refers to an
array element: the characters before the first open parenthesis are
the name of the array, and the characters between the parentheses are
the index within the array. Otherwise varName refers to a scalar vari-
able.
If varName includes namespace qualifiers (in the array name if it
refers to an array element), or if varName is unqualified (does not
include the names of any containing namespaces) but no procedure is
active, varName refers to a namespace variable resolved according to
the rules described under NAME RESOLUTION in the namespace manual page.
If a procedure is active and varName is unqualified, then varName
refers to a parameter or local variable of the procedure, unless var-
Name was declared to resolve differently through one of the global,
variable or upvar commands.
EXAMPLES
Store a random number in the variable r:
set r [expr {rand()}]
Store a short message in an array element:
set anAry(msg) "Hello, World!"
Store a short message in an array element specified by a variable:
set elemName "msg"
set anAry($elemName) "Hello, World!"
Copy a value into the variable out from a variable whose name is stored
in the vbl (note that it is often easier to use arrays in practice
instead of doing double-dereferencing):
set in0 "small random"
set in1 "large random"
set vbl in[expr {rand() >= 0.5}]
set out [set $vbl]
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+------------------+
|Availability | runtime/tcl-8 |
+---------------+------------------+
|Stability | Uncommitted |
+---------------+------------------+
SEE ALSO
expr(n), global(n), namespace(n), proc(n), trace(n), unset(n),
upvar(n), variable(n)
KEYWORDS
read, write, variable
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from http://prdownloads.sourceforge.net/tcl/tcl-
core8.6.7-src.tar.gz.
Further information about this software can be found on the open source
community website at https://www.tcl.tk/.
Tcl set(1t)