diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2004-11-26 10:02:16 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2004-11-26 10:02:16 (GMT) |
commit | 53dbd43f21b5baf917383c6373da80babbbdc0f8 (patch) | |
tree | 677179c7c7dc176b9f8c9d1cdcb17e4c33cf9935 | |
parent | 6ee1f25ba7a09bad8a410b44ff14dc80cfeb7bf1 (diff) | |
download | tcl-53dbd43f21b5baf917383c6373da80babbbdc0f8.zip tcl-53dbd43f21b5baf917383c6373da80babbbdc0f8.tar.gz tcl-53dbd43f21b5baf917383c6373da80babbbdc0f8.tar.bz2 |
Added simple foreach example. [FRQ 1073334]
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | doc/foreach.n | 25 |
2 files changed, 22 insertions, 7 deletions
@@ -1,3 +1,7 @@ +2004-11-26 Donal K. Fellows <donal.k.fellows@man.ac.uk> + + * doc/foreach.n: Added simple example. [FRQ 1073334] + 2004-11-25 Donal K. Fellows <donal.k.fellows@man.ac.uk> * generic/tclProc.c (TclObjInterpProc): Make it so that only diff --git a/doc/foreach.n b/doc/foreach.n index 7054708..6c8d28e 100644 --- a/doc/foreach.n +++ b/doc/foreach.n @@ -5,7 +5,7 @@ '\" See the file "license.terms" for information on usage and redistribution '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. '\" -'\" RCS: @(#) $Id: foreach.n,v 1.4 2004/10/27 12:53:22 dkf Exp $ +'\" RCS: @(#) $Id: foreach.n,v 1.5 2004/11/26 10:02:23 dkf Exp $ '\" .so man.macros .TH foreach n "" Tcl "Tcl Built-In Commands" @@ -51,37 +51,48 @@ The \fBbreak\fR and \fBcontinue\fR statements may be invoked inside \fIbody\fR, with the same effect as in the \fBfor\fR command. \fBForeach\fR returns an empty string. .SH EXAMPLES +This loop prints every value in a list together with the square and +cube of the value: +.CS +'\" Maintainers: notice the tab hacking below! +.ta 32 +set values {1 3 5 7 2 4 6 8} ;# Odd numbers first, for fun! +puts "Value\\tSquare\\tCube" ;# Neat-looking header +\fBforeach\fR x $values { ;# Now loop and print... + puts " $x\\t [expr {$x**2}]\\t [expr {$x**3}]" +} +.CE .PP The following loop uses i and j as loop variables to iterate over pairs of elements of a single list. -.DS +.CS set x {} \fBforeach\fR {i j} {a b c d e f} { lappend x $j $i } # The value of x is "b a d c f e" # There are 3 iterations of the loop. -.DE +.CE .PP The next loop uses i and j to iterate over two lists in parallel. -.DS +.CS set x {} \fBforeach\fR i {a b c} j {d e f g} { lappend x $i $j } # The value of x is "a d b e c f {} g" # There are 4 iterations of the loop. -.DE +.CE .PP The two forms are combined in the following example. -.DS +.CS set x {} \fBforeach\fR i {a b c} {j k} {d e f g} { lappend x $i $j $k } # The value of x is "a d e b f g c {} {}" # There are 3 iterations of the loop. -.DE +.CE .SH "SEE ALSO" for(n), while(n), break(n), continue(n) |