Continue

Überspringt den Rest des aktuellen Durchlaufs einer Schleifenanweisung und beginnt einen neuen.

Continue , LoopLabel

Parameter

LoopLabel [AHK_L 59+]
LoopLabel kennzeichnet, für welche Schleife diese Anweisung gelten soll; dieser Parameter kann entweder der Name eines Labels oder die Nummer einer Verschachtelungsebene sein. Wenn dieser Parameter weggelassen wird oder 1 ist, gilt diese Anweisung für die innerste umschlossene Schleife. LoopLabel muss ein konstanter Wert sein - Variablen und Ausdrücke werden nicht unterstützt. Wenn Sie vorhaben, den Namen eines Labels anzugeben, müssen Sie darauf achten, dass dieses Label direkt auf eine Schleifenanweisung verweist.

Bemerkungen

Continue ist dem Verhalten nach das gleiche wie, als würde das Skript die geschweifte Endklammer einer Schleife erreichen:

  1. A_Index wird um 1 erhöht.
  2. Der Rest des Schleifenkörpers wird übersprungen.
  3. Die Bedingung der Schleife (falls vorhanden) wird überprüft, ob sie erfüllt ist. Ist dies der Fall, beginnt ein neuer Durchlauf; ansonsten endet die Schleife.

Break und Continue sind besser geeignet als Goto, weil sie in der Regel die Übersichtlichkeit und Wartbarkeit eines Skripts erhöhen.

Break, Loop, Until, While-Schleife, For-Schleife, Blöcke, Label

Beispiele

Zeigt 5 Mitteilungsfenster an, eines für jede Zahl von 6 bis 10. Die Continue-Anweisung in den ersten 5 Durchläufen bewirkt, dass die MsgBox-Zeile darunter übersprungen wird.

Loop, 10
{
    if (A_Index <= 5)
        continue
    MsgBox %A_Index%
}

Überspringt von einer inneren Schleife heraus den Durchlauf der äußeren Schleife.

outer:
Loop 3
{
    x := A_Index
    Loop 3
    {
        if (x*A_Index = 4)
            continue outer  ; Äquivalent zu continue 2 oder goto continue_outer.
        MsgBox %x%,%A_Index%
    }
    continue_outer: ; Für goto.
    ErrorLevel:=ErrorLevel ; Vor Revision 57 konnten Label nicht auf das Ende eines Blocks verweisen.
}