global
— Deklaration einer globalen Variablen.
global( : : Declaration : )
Mit Hilfe des Befehls global
ist es möglich, eine globale Variable
zu deklarieren. Globale Variablen sind in allen Prozeduren sichtbar, in
denen sie entsprechend deklariert wurden.
Alle Variablen, die innerhalb einer Prozedur nicht explizit als global deklariert werden, sind in jedem Fall lokal, auch wenn in einer anderen Prozedur eine globale Variable mit dem gleichen Namen deklariert wurde.
Der Parameter Declaration
beinhaltet die vollständige
Variablendeklaration, bestehend aus dem optionalen Schlüsselwort
'def' , dem Typnamen 'object' oder 'tuple' ,
dem optionalen Schlüsselwort 'vector' (unter Angabe der gewünschten
Dimension in runden Klammern) und dem Variablennamen.
Ikonische Variablen werden mit dem Schlüsselwort 'object' deklariert, für Steuervariablen wird 'tuple' verwendet.
Das optionale Schlüsselwort 'def' erlaubt es, eine bestimmte Variablendeklaration explizit als Definition zu kennzeichnen. In den meisten Fällen ist das nicht notwendig, da in HDevelop die globale Variableninstanz automatisch angelegt wird, wenn die Variable irgendwo deklariert wurde. Werden allerdings die Prozeduren, die globale Variablen verwenden, in eine Programmiersprache exportiert, und erfolgt der Export nicht in eine große Datei, mit allen Prozeduren zusammen, sondern wird jede Prozedur in eine eigene Dateien exportiert, dann ist es notwendig, eine der globalen Variablendeklarationen entsprechend als Definition zu kennzeichnen. In eine Gruppe von Prozedurdateien, die zu einer Bibliothek oder einer Anwendung zusammengelinkt werden sollen, muss es genau eine Definition geben, um sowohl Fehler wegen undefinierter Symbole als auch wegen Mehrfachdefinitionen zu vermeiden.
Im Programmlisting wird die Variablendeklaration nicht in Operatorschreibweise sondern ohne Klammern angegeben, da es sich hierbei um eine Deklaration und nicht um einen Operatoraufruf handelt. Dabei wird die folgende Syntax verwendet:
global [def] {object|tuple} [vector(<Dimension>)] <Variablenname>
Declaration
(input_control) string →
(string)
Variablendeklaration bestehend aus optionalem 'def' , Typ und Variablennamen
Wertevorschläge: 'object' , 'tuple' , 'def object' , 'def tuple' , 'object vector(1)' , 'tuple vector(1)' , 'def object vector(1)' , 'def tuple vector(1)'
global
wird nicht ausgeführt.
Foundation