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