指定された式がfalseと評価されるまで、1つ以上の文を繰り返し実行します。
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はループを早期に終了するために使われる。また、Continueは、現在の反復の残りをスキップするために使われることもある。その場合、A_Indexは1だけ増加し、whileループの式が再評価される。まだ真であれば、新しい反復を開始し、そうでなければループを終了する。
ループの後にElse文が続くこともあり、ループの反復回数がゼロの場合に実行されます。
Specialized loops: Loops can be used to automatically retrieve files, folders, or registry items (one at a time). 詳しくはfile loopと registry loopを参照のこと。また、ファイル読み込みループは、ファイルの内容全体を1行ずつ操作することができます。最後に、解析ループは、区切られた文字列の中に含まれる個々のフィールドを操作することができます。
Until、Break、Continue、ブロック、Loop、Forループ、ファイルループ、レジストリループ、ファイル読み込みループ、解析ループ、If