10.2 Globale Variablen

Wenn Sie zum ersten Mal einen Wert einer Variablen zuweisen, dann wird diese Variable automatisch global, falls Sie Hollywood nicht explizit sagen, dass sie unter Verwendung der Anweisung Local lokal sein soll. Auf globale Variablen kann von jedem beliebigen Ort in Ihrem Skript zugegriffen werden. Sie sind auch für alle Funktionen global verfügbar. Wenn jedoch eine lokale Variable mit dem gleichen Namen wie eine globale Variable hat, dann wird Hollywood immer diese lokale Variable zuerst berücksichtigen.

Globale sind langsamer als lokale Variablen und sie können nur mit dem Speicherbereiniger gelöscht werden, wenn Sie die Variable ausdrücklich auf Nil setzen. Daher sollten Sie nur Global verwenden, wenn es wirklich notwendig ist. In Funktionen sollten Sie versuchen, nur mit lokalen Variablen zu arbeiten.

Hier ist ein Beispiel:

 
; schlechter Code!
Function p_Add(a, b)
    tmp = a + b
    Return(tmp)
EndFunction

Die Variable tmp wird als globale Variable erstellt. Das macht hier nicht viel Sinn, weil Sie die Variable tmp nur in dieser Funktion benötigen. So sollten Sie besser diese Variable in der Funktion lokal deklarieren, z.B:

 
; guter Code!
Function p_Add(a, b)
    Local tmp = a + b
    Return(tmp)
EndFunction

Um die Lesbarkeit des Programms zu verbessern, können Sie die Global-Anweisung verwenden, um bestimmte Variablen eindeutig als Global zu markieren. Das ist natürlich optional, da alle nicht explizit als lokal deklarierten Variablen automatisch global werden. Aber bei Verwendung von Global wird Ihr Programm besser lesbar.

Siehe Lokale Variablen für Details.


Navigation zeigen