Continue
ループ文の現在の繰り返しの残りをスキップして、新しい繰り返しを開始します。
Continue LoopLabel
パラメータ
- LoopLabel
-
省略時または1の場合、この文が囲まれている最も内側のループに適用されます。それ以外の場合は、ラベル名または数値のネストレベルのいずれかによってこのステートメントをどのループに適用するかを指定します。ラベルを指定する場合は、ループステートメントを直接指定する必要があります。
LoopLabelは定数値でなければならない。変数や式はサポートされていない。ただし、括弧で囲まれた単一のリテラル数値または引用文字列は例外です。For example: continue("outer")
Continueは、ループの閉じブレースに到達するのと同じ動作をします:
- A_Indexを1つ増加させます。
- ループの残りの本体をスキップしてしまうのです。
- ループの条件(ある場合)が満たされているかどうかをチェックします。そうであれば、新しい反復が始まり、そうでなければループは終了します。
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用
}