while -
条件が満たされていれば、スクリプトを繰り返して実行します。
while test body
while コマンドは ( expr がその引数を評価するように
)test を式として評価します
。式の結果値は適切なブール値でなければなりません。式が True
ならば、body は Tcl インタープリタに渡されて実行され ます。body
が実行されるたびにtest は再評価されます。このプロセスはtest
がFalse値になるまで繰り返 されます。 body の中でcontinue コマンド
を実行することでループの現在の反復を終了させることができ、また
break コマンドはbody の中で実行されることで
while コマンド を即座に終了させる事ができます。 while
コマンドの戻り値は常に空の文字列です。
注意事項:test が常に括弧で囲まれなければなりません。囲まれていない場合、
while コマンドの実行
が始める前に変数代用が行われてしまい、無限のループをなってしまうことがあります。
つまりループbody によって変更された変数は式で評価されないことになってしまい、test
が括弧で囲まれれば、変数代用は条件式が評価されたあと、各々のループの反復を始める前に行うので
、変数の変更は条件式に反映されます。例えば、$x<10 の両サイドに括弧
で囲むと囲まないとで次のスクリプトで試して見ましょう。
set x 0
while {$x<10} {
puts "x is $x"
incr x
}
break, continue, for, foreach
boolean volue, loop, test, while
Copyright © 1993 The Regents of the University of California.
Copyright © 1994-1997 Sun Microsystems, Inc.
Copyright © 1995-1997 Roger E. Critchlow Jr.
|