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 }
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-Anweisungen, 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 (Ausdruck), Else, Loop Wiederholungen, 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 e { ... } 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-Anweisungen, Else, Schleifenanweisungen, Try, Catch, Finally