#CONSTANT

Directive

Syntaxe

Donne un nom à une valeur fixe. On relit la constante avec # devant son nom, partout dans le programme.

#CONSTANT <NAME> <value>
#CONSTANT <NAME> = <value>
#<NAME>

Les éléments

<NAME>Le nom de la constante, sans tenir compte de la casse, sans sigil. Ce ne doit être ni un nom de commande du catalogue, ni une constante intégrée #AK_….
<value>Un nombre, un texte, ou une expression d'autres constantes.

À savoir

  • Les constantes sont posées avant la première ligne : on peut donc lire une constante au-dessus de sa propre ligne.
  • Un nom déclaré deux fois est refusé : Duplicate BASIC constant: #LIVES. Un nom de commande aussi (#CONSTANT LEFT 1) : choisissez par exemple #DIR_LEFT.
  • Une constante et une variable écrites exactement pareil, casse comprise, compilent en un programme qui ne démarre pas. Donnez-leur des noms différents.
  • Un sigil sur le nom (#CONSTANT NAME$ "x") compile, mais le programme ne démarre pas. Une faute de frappe #SPEDE et une écriture #SPEED = 6 ne se voient qu'à l'exécution de la ligne.
  • Dans un programme avec DO … LOOP, une FUNCTION ne peut pas lire une constante : elle s'arrête sur … is not defined. Copiez la constante dans un GLOBAL et lisez celui-ci.
  • Le #NAME = 5 de PureBasic ne déclare pas de constante hors d'une ENUMERATION. Écrivez #CONSTANT NAME 5.

Exemple

Console(Str(#MAX_LIVES))   ' 3#CONSTANT MAX_LIVES 3#CONSTANT TITLE "Space Rocks"#CONSTANT GRAVITY = 9.81#CONSTANT DOUBLE_G #GRAVITY * 2Console(#title + " " + Str(#DOUBLE_G))   ' Space Rocks 19.62
Dans le manuel : Constantes et opérateurs