Provided by: manpages-zh_1.6.3.3-2_all
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。 在一般的情况下,这里可以有多于一个的值列表(例如,list1和 list2),并且每个值列表可以与一个循环变量的列表相关联。(例如,varlist1 和 varlist2)。 在循环的每次重复期间每个 varlist 中的变量被赋与相应的list 中的连续的值。在每 个list 中的值按从最先到最后的次序被使用,并且每个值被准确的使用一次。循环重复的总数足够的大来用光所有列表的所有的值。如果一个值的列表不包含足够元素,供给每次重复中的每个循环变量,则给遗漏的元素使用空值。 break 和 continue 语句可以在 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
跋
本页面中文版由中文 man 手册页计划提供。 中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh