{...} (Block)

Blöcke sind eine oder mehrere Anweisungen, die von zwei geschweiften Klammern umschlossen sind. Diese werden häufig im Zusammenhang mit Funktionsdefinitionen und Kontrollanweisungen verwendet.

{
    Anweisungen
}

Bemerkungen

Ein Block wird verwendet, um zwei oder mehr Anweisungen miteinander zu verbinden. Ein Block kann auch verwendet werden, um festzulegen, zu welcher If-Anweisung eine Else-Anweisung gehören soll. Das folgende Beispiel zeigt, wie die Else-Anweisung der ersten statt der zweiten If-Anweisung zugeordnet werden kann:

if (Var1 = 1)
{
    if (Var2 = "abc")
        Sleep 1
}
else
    return

Obwohl Blöcke überall verwendet werden können, sind sie nur in Verbindung mit Funktionsdefinitionen, If, Else, Schleifenanweisungen, Try, Catch oder Finally von Bedeutung.

Wenn eine der oben genannten Kontrollanweisungen nur eine einzige Anweisung hat, muss diese Anweisung nicht von einem Block umschlossen werden (dies funktioniert nicht bei Funktionsdefinitionen). In einigen Fällen kann es dennoch hilfreich sein, den Block auch bei einer Anweisung zu verwenden, um die Lesbarkeit oder Wartbarkeit des Skripts zu verbessern.

Ein Block kann leer sein (keine Anweisungen enthalten), was z.B. nützlich sein kann, wenn Sie den Inhalt des Blocks auskommentieren wollen, ohne den Block selbst zu entfernen.

One True Brace (OTB, K&R-Stil): Der OTB-Style kann optional an folgenden Stellen verwendet werden: Funktionsdefinitionen, If, Else, Loop, While, For, Try, Catch und Finally. Dieser Style ermöglicht es, die geschweifte Startklammer des Blocks direkt neben der Anweisung des Blocks zu setzen, anstatt alleinstehend in einer Zeile darunter. Zum Beispiel:

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

Ebenso kann neben einer geschweiften Klammer (außer der geschweiften Startklammer des OTB-Styles) eine Anweisung stehen. Zum Beispiel:

if (x = 1)
{ MsgBox "Diese Zeile steht rechts von 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 steht rechts von der geschweiften Endklammer. Sie wird bedingungslos ausgeführt."

Funktionsdefinitionen, Kontrollanweisungen, If, Else, Schleifenanweisungen, Try, Catch, Finally

Beispiele

Durch Umschließen der beiden Anweisungen MsgBox "test1" und Sleep 5 mit geschweiften Klammern weiß die If-Anweisung, dass sie beide ausführen soll, wenn x gleich 1 ist.

if (x = 1)
{
    MsgBox "test1"
    Sleep 5
}
else
    MsgBox "test2"