dwww Home | Manual pages | Find package

set(3tcl)                    Tcl Built-In Commands                   set(3tcl)

______________________________________________________________________________

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 ar-
       ray  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 in-
       clude  the  names of any containing namespaces) but no procedure is ac-
       tive, 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 in-
       stead of doing double-dereferencing):

              set in0 "small random"
              set in1 "large random"
              set vbl in[expr {rand() >= 0.5}]
              set out [set $vbl]

SEE ALSO
       expr(3tcl), global(3tcl), namespace(3tcl), proc(3tcl), trace(3tcl), un-
       set(3tcl), upvar(3tcl), variable(3tcl)

KEYWORDS
       read, write, variable

Tcl                                                                  set(3tcl)

Generated by dwww version 1.14 on Fri Jul 18 22:13:23 CEST 2025.