Continue

ループ文の現在の繰り返しの残りをスキップして、新しい繰り返しを開始します。

Continue LoopLabel

パラメータ

LoopLabel

省略時または1の場合、この文が囲まれている最も内側のループに適用されます。それ以外の場合は、ラベル名または数値のネストレベルのいずれかによってこのステートメントをどのループに適用するかを指定します。 ラベルを指定する場合は、ループステートメントを直接指定する必要があります。

LoopLabelは定数値でなければならない。変数や式はサポートされていない。ただし、括弧で囲まれた単一のリテラル数値または引用文字列は例外です。事例:continue("outer")

備考

Continueは、ループの閉じブレースに到達するのと同じ動作をします。

  1. A_Indexを1つ増加させます。
  2. ループの残りの本体をスキップしてしまうのです。
  3. ループの条件(ある場合)が満たされているかどうかをチェックします。そうであれば、新しい反復が始まり、そうでなければループは終了します。

BreakとContinueの使用は、通常、スクリプトをより読みやすく、保守的にするため、Gotoよりも推奨されています。

Break, Loop, Until, While-loop, For-loop, Blocks, Labels

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: ; For goto.
}