{...} (Block)

Zwei geschweifte Klammern kennzeichnen einen Block. Blöcke werden typischerweise bei Funktionen, Else, Loop, While-Schleifen und If-Befehlen verwendet.

{
Beliebig viele Befehle
}

Bemerkungen

Ein Block wird genutzt, um zwei oder mehr Befehle miteinander zu verbinden. Ein Block kann auch genutzt werden, um die Zugehörigkeit von IF und ELSE zu ändern. Das folgende Beispiel zeigt, wie das ELSE dem ersten statt zweiten IF zugeordnet werden kann:

if var1 = 1
{
    if var2 = abc
        sleep, 1
}
else
    return

Obwohl Blöcke überall eingesetzt werden können, sind sie eigentlich nur relevant, wenn sie in Verbindung mit Funktionen, Else, Loop, oder IF-artigen Befehlen wie IfEqual oder IfWinExist genutzt werden.

Wenn einem IF, ELSE, Loop, While-Schleife oder For-Schleife nur ein einziger Befehl zugeordnet ist, muss dieser Befehl nicht von einem Block umschlossen sein. Es gibt jedoch Fälle, wo genau diese Vorgehensweise helfen könnte, ein Skript besser lesbar oder verwaltbar zu machen.

Ein Block kann leer sein (muss keine Befehle enthalten); das heißt, dass Sie zum Beispiel den Inhalt eines Blocks auskommentieren können, ohne dass Sie den Block selbst entfernen müssen.

One True Brace (OTB, K&R-Stil): Der OTB-Style kann optional an folgenden Stellen angewendet werden: if (Ausdruck), else, While-Schleife, For-Schleife, Loop, Funktionsdefinitionen, Try, Catch, und Finally. Dieser Style kann genutzt werden, um die geschweifte Startklammer des Blocks direkt neben der Ablaufsteuerungsanweisung zu setzen, statt sie wie sonst einzeln darunter zu setzen. Zum Beispiel:

if (x < y) {
    ...
} else {
    ...
}
While x < y {
    ...
}
For k,v in obj {
    ...
}
Loop %AnzahlWiederholungen% {
    ...
}
MeineFunktion(x, y) {
    ...
}
Try {
    ...
} Catch e {
    ...
} Finally {
    ....
}

Neben einer Klammer (außer der geschweiften Startklammer des OTB-Styles) kann zudem ein Befehl oder eine andere Aktion erfolgen. Zum Beispiel:

if x = 1
{ MsgBox Diese Zeile befindet sich auf der rechten Seite der geschweiften Startklammer. Sie wird jedes Mal ausgeführt, wenn die IF-Anweisung wahr ist.
    MsgBox Das ist die nächste Zeile.
} MsgBox Diese Zeile befindet sich auf der rechten Seite der geschweiften Endklammer. Sie wird bedingungslos ausgeführt.

Siehe auch

Funktionen, While-Schleife, Loop, Else, If, If (Ausdruck)

Beispiel

if x = 1
{
    MsgBox, test1
    Sleep, 5
}
else
    MsgBox, test2