for(3tcl) Tcl Built-In Commands for(3tcl)

for - ``For'' 循环

for start test next body

For 是一个循环命令,在结构上类似与 C 语言的 for语句。startnext、和body 参数必须是 Tcl 命令串,而 test 是一个表达式串。for 命令首先调用 Tcl 解释器来执行 start。接着它重复的把 test作为一个表达式来求值;如果结果是非零则它在 body 上调用 Tcl 解释器,接着在 next 上调用 Tcl 解释器,接着重复这个循环。在 test 被求值为 0 的时候命令终止。如果body 中调用了 continue 命令则在 body 的当前执行中的所有剩余的命令都被跳过;处理继续,在 next 上调用 Tcl 解释器,接着对 test 求值。 等等. 如果在 bodynext 中调用 break 命令,则 for 命令将立即返回。breakcontinue 命令的操作类似于在 C 语言中相应的语句。For 返回一个空串。

注意: test 应当总是在花括号中包围着。如果不是这样,在 for 命令开始之前就作了变量替换,这意味着在循环体中做的变量变更在表达式中将不被考虑。将导致一个无限循环。如果 test 被包围在花括号中,变量替换将延迟,直到表达式求值(在每次循环重复之前),所以变量的变更将是可见的。例如,尝试在 $x<10 周围有和没有一对花括号的下列脚本:

for {set x 0} {$x<10} {incr x} {
	puts "x is $x"
}

break, continue, foreach, while

for, iteration, looping

寒蝉退士

2001/08/05

http://cmpp.linuxforum.net

本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh
Tcl