Scroll to navigation

while(3tcl) while(3tcl)

NAME

while - 在條件滿足時重複的執行指令碼

總覽

while test body

描述

while 命令把 test 作為一個表示式來求值(用與 expr 求它的引數的值相同的方式)。這個表示式的值必須是一個正確的 boolean 值;如果它是真值則把 body 傳遞給 Tcl 直譯器來執行它。一旦執行了 body 則再次求值 test ,並重復處理直到最終 test 求值出一個假 boolean 值。可以在 body 中執行 Continue 命令來終止這個迴圈的當前重複操作(iteration),並可以在 body 中執行 break 命令來導致 while 命令立即終止。while 命令總是返回一個空串。

注意: test 應該總是包圍在花括號中。如果不是,在 while 命令開始執行之前將進行變數替換,這意味著迴圈體所做的變數變更將不考慮在這個表示式中。這將很可能導致無限迴圈。如果 test 被包圍在花括號中,變數替換被推遲到求值這個表示式的時候(在每次迴圈重複操作之前),所以變數的變化將是可見的。例如,嘗試下列指令碼並在 $x<10 兩邊分別加上和不加花括號:

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

關鍵字

boolean 值, 迴圈, 測試, while

作者

Copyright (C) 1993 The Regents of the University of California.
Copyright (C) 1994-1997 Sun Microsystems, Inc.
Copyright (C) 1995-1997 Roger E. Critchlow Jr.

[中文版維護人]

寒蟬退士

[中文版最新更新]

2001/11/20

《中國 Linux 論壇 man 手冊頁翻譯計劃》:

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh