Provided by: manpages-zh_1.5.2-1_all bug

NAME

       foreach - 在一个或多个列表的所有元素上重复

总览 SYNOPSIS

       foreach varname list body
       foreach varlist1 list1 ?varlist2 list2 ...? body
_________________________________________________________________

描述 DESCRIPTION

       foreach
       命令实现一个循环,在这里循环变量从一个或多个列表接受值。在最简单的情况下,这里有一个循环变量
       varname   ,和一个列表  list,它是要赋给  varname   的值的一个列表。body   参数是一个  Tcl
       脚本。对于   list      的每个元素(按从最先到最后的次序),foreach      把这个元素的内容赋给
       varname,如同使用 lindex   命令提取元素一样,接着调用 Tcl 解释器来执行 body。

       在一般的情况下,这里可以有多于一个的值列表(例如,list1list2),并且每个值列表可以与一个循环变量的列表相关联。(例如,varlist1varlist2)。
       在循环的每次重复期间每个   varlist   中的变量被赋与相应的list   中的连续的值。在每  个list
       中的值按从最先到最后的次序被使用,并且每个值被准确的使用一次。循环重复的总数足够的大来用光所有列表的所有的值。如果一个值的列表不包含足够元素,供给每次重复中的每个循环变量,则给遗漏的元素使用空值。

       breakcontinue    语句可以在  body  中调用,与在  for  命令中有相同的效果。Foreach
       返回一个空串。

范例 EXAMPLES

       下面的循环使用 i 和 j 作为循环变量在一个单一的列表的一对元素上重复。 set x {}  foreach  {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.

       下一个循环使用 i 和 j 在两个并行的列表上重复。 set x {} foreach 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.

       在下面例子中组合了两种形式。 set x {} foreach 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.

参见 SEE ALSO

       for(n), while(n), break(n), continue(n)

关键字 KEYWORDS

       foreach, iteration, list, looping

[中文版维护人]

       寒蝉退士

[中文版最新更新]

       2001/08/05

《中国 Linux 论坛 man 手册页翻译计划》:

       http://cmpp.linuxforum.net