Continue

Überspringt den Rest der aktuellen Wiederholung einer Schleifenanweisung und beginnt eine neue.

Continue , LoopLabel

Parameter

LoopLabel [AHK_L 59+]
Wenn weggelassen oder 1, gilt diese Anweisung für die innerste Schleife, von der die Anweisung umschlossen ist. Andernfalls geben Sie an, für welche Schleife diese Anweisung gelten soll; entweder der Name eines Labels oder die Nummer einer Verschachtelungsebene. LoopLabel muss ein konstanter Wert sein - Variablen und Ausdrücke werden nicht unterstützt. Wenn ein Label angegeben ist, muss es direkt auf eine Schleifenanweisung verweisen.

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 eine neue Wiederholung, andernfalls endet die Schleife.

Es ist ratsam, Break und Continue anstelle von Goto zu verwenden, da sie in der Regel die Lesbarkeit und Wartbarkeit eines Skripts verbessern.

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

Beispiele

Zeigt 5 Mitteilungsfenster an, eines für jede Zahl von 6 bis 10. Die Continue-Anweisung in den ersten 5 Wiederholungen 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 Labels nicht auf das Ende eines Blocks verweisen.
}