Syntaxe
Déclare une variable partagée par tout le programme, FUNCTION comprises. S'écrit partout, même dans une FUNCTION.
GLOBAL <name> [= <value>]
GLOBAL <name> AS <type> [= <value>]
GLOBAL <name>, <name>[, <name>…]
GLOBAL NewList <name>.<type>()
GLOBAL NewMap <name>.<type>()Les éléments
| <name> | Le nom de la variable. Dans la forme en liste, un nom en $ part de "", les autres de 0. |
|---|---|
| <value> | Valeur de départ facultative : n'importe quelle expression. |
| <type> | Un type de nombre, de texte ou d'enregistrement pour AS ; le type des éléments pour NewList et NewMap. |
À savoir
- Dans un programme avec
DO … LOOP, une FUNCTION ne voit ni les variables simples, ni les variables typées, ni les listes ou maps créées au-dessus deDO.GLOBALrègle le problème : déclarez avecGLOBALtoute valeur partagée avec une fonction. - Donnez une valeur à un
GLOBALseul.GLOBAL hitssans valeur part vide, pas de 0, ethits + 1donne alorsNaN. La forme en listeGLOBAL a, b$part de 0 et de"". - Un
GLOBALdans une FUNCTION crée la variable pour tout le programme : on peut la lire après l'appel. - Sous
OPTION EXPLICIT,GLOBALcompte comme une déclaration. GLOBAL DIMn'est pas fiable : écrivez un simpleDIMen haut du programme.
Exemple
GLOBAL score = 0GLOBAL lives AS integer = 3GLOBAL name$, levelFUNCTION AddPoints(points) score = score + pointsENDFUNCTIONAddPoints(10)AddPoints(5)Console(Str(score) + " " + Str(lives) + " [" + name$ + "] " + Str(level)) ' 15 3 [] 0Dans le manuel : Variables et types