dwww Home | Manual pages | Find package

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

______________________________________________________________________________

NAME
       lassign - Assign list elements to variables

SYNOPSIS
       lassign list ?varName ...?
______________________________________________________________________________

DESCRIPTION
       This command treats the value list as a list and assigns successive el-
       ements from that list to the variables given by the  varName  arguments
       in order.  If there are more variable names than list elements, the re-
       maining variables are set to the empty string.  If there are more  list
       elements than variables, a list of unassigned elements is returned.

EXAMPLES
       An illustration of how multiple assignment works, and what happens when
       there are either too few or too many elements.

              lassign {a b c} x y z       ;# Empty return
              puts $x                     ;# Prints "a"
              puts $y                     ;# Prints "b"
              puts $z                     ;# Prints "c"

              lassign {d e} x y z         ;# Empty return
              puts $x                     ;# Prints "d"
              puts $y                     ;# Prints "e"
              puts $z                     ;# Prints ""

              lassign {f g h i} x y       ;# Returns "h i"
              puts $x                     ;# Prints "f"
              puts $y                     ;# Prints "g"

       The lassign command has other uses.  It can be used to create the  ana-
       logue of the “shift” command in many shell languages like this:

              set ::argv [lassign $::argv argumentToReadOff]

SEE ALSO
       lindex(3tcl), list(3tcl), lrange(3tcl), lset(3tcl), set(3tcl)

KEYWORDS
       assign, element, list, multiple, set, variable

Tcl                                   8.5                        lassign(3tcl)

Generated by dwww version 1.14 on Thu Jan 23 00:29:08 CET 2025.