式を評価した結果が真である間、一連の処理を繰り返し実行する
while Expression Statement while Expression { Statements }h2>Remarks
まずExpressionが評価され、空文字列や「0」以外として評価された場合、Statement(s)が実行される。
直後が「{」であった場合は、対応する「}」までが実行される。
「{」はExpressionの後に改行せずに書いてもよい。
Statementsが最後まで実行されるか、continue文が実行された場合、再びExpressionの評価が行われ、真であればStatement(s)の実行に進む。
Statement(s)中でbreak文が実行されるか、Expressionの評価結果が文字列や0であった場合、繰り返しは打ち切られ、後続の処理に実行が移る。
組み込み変数「A_Index」には、繰り返しの実行された回数が格納される。
これは最初のExpressionの評価前に「1」になり、以降のExpressionの評価前に1ずつ増加する。
whileやLoopが入れ子になっている場合は、一番内側の反復の回数が格納される。
「while,Expression」のようにカンマを挟んでもよい。
多くの言語で使用される「while(expression)」の書式は文法エラーになる
Break, Continue, Blocks, Loop, Files-and-folders loop, Registry loop, File-reading loop, Parsing loop, If (expression)
; As the user drags the left mouse button, a ToolTip displays the size of the region inside the drag-area.
CoordMode, Mouse, Screen
~LButton::
MouseGetPos, begin_x, begin_y
while GetKeyState("LButton")
{
MouseGetPos, x, y
ToolTip, % begin_x ", " begin_y "`n" Abs(begin_x-x) " x " Abs(begin_y-y)
Sleep, 10
}
ToolTip
return