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.

Siehe auch

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

Beispiele

#1: Dieses Beispiel zeigt vom 6. bis zum 10. Durchlauf 5 Mitteilungsfenster an. 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%
}

#2: Ü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.
}