summaryrefslogtreecommitdiffstats
path: root/doc/lassign.n
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lassign.n')
-rw-r--r--doc/lassign.n21
1 files changed, 13 insertions, 8 deletions
diff --git a/doc/lassign.n b/doc/lassign.n
index 7b3bcdc..e250729 100644
--- a/doc/lassign.n
+++ b/doc/lassign.n
@@ -12,9 +12,8 @@
.SH NAME
lassign \- Assign list elements to variables
.SH SYNOPSIS
-\fBlassign \fIlist varName \fR?\fIvarName ...\fR?
+\fBlassign \fIlist \fR?\fIvarName ...\fR?
.BE
-
.SH DESCRIPTION
.PP
This command treats the value \fIlist\fR as a list and assigns
@@ -24,32 +23,38 @@ than list elements, the remaining variables are set to the empty
string. If there are more list elements than variables, a list of
unassigned elements is returned.
.SH EXAMPLES
+.PP
An illustration of how multiple assignment works, and what happens
when there are either too few or too many elements.
+.PP
.CS
-lassign {a b c} x y z ;# Empty return
+\fBlassign\fR {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
+\fBlassign\fR {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"
+\fBlassign\fR {f g h i} x y ;# Returns "h i"
puts $x ;# Prints "f"
puts $y ;# Prints "g"
.CE
+.PP
The \fBlassign\fR command has other uses. It can be used to create
the analogue of the
.QW shift
command in many shell languages like this:
+.PP
.CS
-set ::argv [lassign $::argv argumentToReadOff]
+set ::argv [\fBlassign\fR $::argv argumentToReadOff]
.CE
.SH "SEE ALSO"
-lindex(n), list(n), lset(n), set(n)
-
+lindex(n), list(n), lrange(n), lset(n), set(n)
.SH KEYWORDS
assign, element, list, multiple, set, variable
+'\"Local Variables:
+'\"mode: nroff
+'\"End: