Ein Label identifiziert eine Codezeile und kann als Goto-Ziel oder zum Unterbrechen oder Fortsetzen einer bestimmten Schleife verwendet werden. Ein Label besteht aus einem Namen gefolgt von einem Doppelpunkt:
das_ist_ein_Label:
Abgesehen von Leerraumzeichen und Kommentaren darf kein weiterer Code auf der Zeile eines Labels stehen.
Namen: Labelnamen sind nicht Groß-/Kleinschreibung-sensitiv (bezogen auf ASCII-Buchstaben) und können aus Buchstaben, Zahlen, Unterstrichen und ASCII-fremden Zeichen bestehen. Zum Beispiel: MeineListView, Menü_Datei_Öffnen und outer_loop.
Gültigkeitsbereich: Jede Funktion hat ihre eigene Liste mit lokalen Labels. Innerhalb einer Funktion sind nur die Labels dieser Funktion für das Skript sichtbar/zugänglich.
Ziel: Das Ziel eines Labels ist die nächste ausführbare Codezeile. Ausführbarer Code umfasst Funktionen, Zuweisungen, Ausdrücke und Blöcke, aber keine Direktiven, Labels, Hotkeys oder Hotstrings. Im folgenden Beispiel verweisen run_notepad_1
und run_notepad_2
auf dieselbe Run
-Zeile:
run_notepad_1: run_notepad_2: Run "notepad" return
Ausführung: Labels haben wie Direktiven keine Wirkung, wenn sie während einer normalen Ausführung erreicht werden.
Hotkey- und Hotstring-Definitionen sehen aus wie Labels, sind aber keine.
Hotkeys bestehen aus einem Hotkey gefolgt von zwei Doppelpunkten.
^a::
Hotstrings bestehen aus einem Doppelpunkt, beliebig vielen Optionen, einem weiteren Doppelpunkt, einer Abkürzung und zwei Doppelpunkten.
:*:bzw::
In einigen Fällen kann eine Variable anstelle eines Labelnamens verwendet werden. In solchen Fällen wird der in der Variable gespeicherte Name zur Lokalisierung des Ziellabels verwendet. Dies geschieht jedoch auf Kosten der Performanz, da das Ziellabel jedes Mal neu gesucht werden muss, nicht nur beim Start des Skripts.
Ein Label kann auch verwendet werden, um eine Schleife für die Anweisungen Continue und Break zu identifizieren. Dadurch kann das Skript von einer inneren Schleife heraus den aktuellen Durchlauf einer äußeren Schleife überspringen oder die äußere Schleife unterbrechen.