{...} (Block)

Blöcke sind Codezeilen, die von zwei geschweiften Klammern umschlossen sind. In der Regel werden Blöcke in Verbindung mit Funktionen, Else, Loop, While-Schleifen und If-Befehlen genutzt.

{
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 übersichtlicher 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