logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

set - Read and write variables

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 variable.

       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 NAMERESOLUTION 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 varName 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:

              setanAry(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]

Keywords

       read, write, variable

Tcl                                                                                                    set(3tcl)

Name

       set - Read and write variables

See Also

expr(3tcl),   global(3tcl),   namespace(3tcl),   proc(3tcl),   trace(3tcl),   unset(3tcl),   upvar(3tcl),
       variable(3tcl)

Synopsis

setvarName ?value?
________________________________________________________________________________________________________________

See Also