User manual

Kapitel 4 Pawn Script
Variable auch nach dem Ende einer Funktion im Speicher. Dies bedeutet, dass statische lokale
Variablen eine private, dauerhafte Speicherung bereitstellen, die nur in einer einzigen Funktion
(oder einem Block) zugänglich sind. Wie globale Variablen, nnen statische lokale Variablen nur
mit konstanten Ausdrücken initialisiert werden.
4.4.2.5 Statische globale Deklaration
Eine statische globale Variable verhält sich wie eine globale Variable, mit dem Unterschied, dass die
Variable nur in der Datei gültig ist, in der sie deklariert wurde. Um eine globale Variable statisch zu
deklarieren, ersetzen Sie das Schlüsselwort "new" mit "static".
4.4.2.6 Gleitkommawerte
Pawn unterstzt Gleitkommawerte. Diese können an jeder Stelle eingesetzt werden, an der eine
Variablendeklaration gültig ist.
Beispiel:
new Float:a; // ohne Initialisierung (Wert ist 0.0)
new Float:b = 3.0; // mit Initialisierung (Wert ist 3.0)
4.4.3 Konstante Variablen
Es ist manchmal notwendig eine Variable zu erstellen, die einmal initialisiert wird und dann nicht
mehr verändert werden soll. Eine solche Variable verhält sich ähnlich wie eine symbolische
Konstante, aber sie ist dennoch eine Variable. Um eine konstante Variable zu deklarieren, legen Sie
das Schlüsselwort "const" zwischen das Schlüsselwort, das die Variablendeklaration ("new",
"static") startet und den Namen der Variablen.
Beispiel:
new const address[4] = { 192, 0, 168, 66 }
static const status /* initialized to zero */
Typische Situationen, in denen man eine konstante Variable nutzen könnte, sind:
l Um eine "array"-Konstante zu erstellen. Auf symbolische Konstanten kann nicht per Index
zugegriffen werden.
l Ein besonderer Fall ist, wenn die Array-Argumente in einer Funktion als "const" markiert
werden. Array-Argumente werden immer per Referenz übergeben. Wenn sie als "const"
deklariert werden, schützt sie das vor ungewollten Änderungen. Siehe Beispiele von "const-
Funktionsargumenten" im Kapitel "Funktionsargumente ("call-by-value" versus "call-by-
reference")" auf Seite 109.
Rev. 01 93