Performs one or more statements repeatedly until the specified expression evaluates to false.
While Expression
任意の有効な式。事例:while x < y
.
While
(expression)
のように式が括弧で囲まれている場合、While
の後のスペースやタブは省略可能である。
式は各反復の前に一度だけ評価される。この式がtrueと評価された場合(空文字列や数値0以外の結果)、ループの本体が実行され、そうでない場合はループの本体に続く行にジャンプする。
whileループの後には通常、ループ本体を形成するステートメントの集まりであるブロックが続く。ただし、1つの文しかないループにはブロックは必要ありません("if"とその "else"は、この目的のために1つの文としてカウントされます)。
オプションで、オープンブレースを下ではなく同じラインに表示させるOTB(One True Brace)スタイルを採用することも可能です。事例:while x < y {
.
組込変数A_Indexには、現在のループの繰り返し回数が格納されます。ループの式と本体が最初に実行されるとき、この値には1が含まれる。2回目には2が入り、以下同様です。内側ループが外側ループで囲まれている場合、内側ループが優先されます。A_Indexは、すべての種類のループの内部で機能しますが、ループの外部では0を含みます。
すべてのループと同様に、Breakはループを早期に終了するために使われる。このときA_Indexが1増加し、whileループの式が再評価される。まだ真であれば、新しい反復を開始し、そうでなければループを終了する。
ループの後にElse文が続くこともあり、ループの反復回数がゼロの場合に実行されます。
Specialized loops:ループを使用して、ファイル、フォルダー、レジストリ項目を(1つずつ)自動的に取得することができます。詳しくはfile loopと registry loopを参照のこと。また、ファイル読み込みループは、ファイルの内容全体を1行ずつ操作することができます。最後に、解析ループは、区切られた文字列の中に含まれる個々のフィールドを操作することができます。
Until, Break, Continue, Blocks, Loop, For-loop, Files-and-folders loop, Registry loop, File-reading loop, Parsing loop, If