Continue

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

Continue LoopLabel

パラメータ

LoopLabel

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

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

備考

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

  1. ループの残りの本体をスキップします。
  2. The loop's Until expression (if it has one) is evaluated.
  3. A_Index is increased by 1.
  4. The loop's own condition (if it has one) is checked to see if it is satisfied. もしあれば、新しい繰り返しが始まり、そうでなければループは終了します。

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

BreakLoopUntilWhileループ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用
}