Continue
ループ文の現在の繰り返しの残りをスキップして、新しい繰り返しを開始します。
Continue LoopLabel
パラメータ
- LoopLabel
-
省略したとき、または1のときは、この文が囲まれている最も内側のループに適用されます。そうでないときは、ラベル名または数値のネストレベルのいずれかによってこのステートメントをどのループに適用するかを指定します。ラベルを指定する場合は、ループステートメントを直接指定する必要があります。
LoopLabelは定数値でなければならず、変数や式はサポートされていません。ただし、括弧で囲まれた単一のリテラル数値または引用文字列は例外です。例: continue("outer")
Continueは、ループの閉じブレースに到達するのと同じ動作をします:
- ループの残りの本体をスキップします。
- The loop's Until expression (if it has one) is evaluated.
- A_Index is increased by 1.
- The loop's own condition (if it has one) is checked to see if it is satisfied. もしあれば、新しい繰り返しが始まり、そうでなければループは終了します。
BreakとContinueの使用は、通常、スクリプトをより読みやすく、保守的にするため、Gotoよりも推奨されています。
Break、Loop、Until、Whileループ、Forループ、ブロック、ラベル
例
6~10までの数字に対して1つずつ、計5つのメッセージボックスを表示します。ループの最初の5回の繰り返しでは、MsgBox行に到達する前にContinue文によってループがやり直されていることに注意してください。
Loop 10
{
if (A_Index <= 5)
continue
MsgBox A_Index
}
ネストしたループの中から外側のループを継続させる。
outer:
Loop 3
{
x := A_Index
Loop 3
{
if (x*A_Index = 4)
continue outer ; continue 2またはgoto continue_outerに相当します。
MsgBox x "," A_Index
}
continue_outer: ; goto用
}