while

ReferenceTOPKeywords

コマンド名

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.