Constantes
Une constante est un emplacement où une valeur est stockée. Sa valeur ne peut pas changer pendant l'exécution du programme.
Pour créer une constante, vous devez spécifier son identifiant et son type (on appelle cela déclarer une constante) et fournir une valeur pour la constante, ce qui s'appelle initialiser une constante.
Une constante doit être initialisée lorsqu'elle est déclarée, et doit aussi être déclarée avant de pouvoir être utilisée.
La création d'une constance présente la syntaxe suivante :
Identifiant : type = expression

Les constantes déclarées dans une fonction peuvent omettre l'attribut type :
Identifiant := expression

Si le type est omis, le type de la constante est déduit de l'expression utilisée pour initialiser la constante. Seules les constantes locales peuvent omettre le type car le type décrit comment la constante peut être utilisée. Une constante dans un module fait partie de l'interface du module qui la contient. Sans le type, cette interface n'est pas évidente.
Dans l'exemple suivant, un nombre aléatoire est généré à chaque itération de la boucle, et est utilisé pour initialiser la constante RandomNumber
. Le nombre aléatoire ne sortira de la boucle que s'il est inférieur à vingt.
loop:
Limite := 20
# Pour les constantes locales, le type peut être omis.
RandomNumber : int = GetRandomNumber()
# Fournir le type explicitement peut faciliter la lecture du code.
si (RandomNumber < Limit) :
break
Notez qu'à chaque itération de la boucle, une nouvelle constante nommée RandomNumber
est introduite et se voit attribuer le résultat de GetRandomNumber()
comme valeur.
Variables
En plus des constantes décrites ci-dessus, Verse possède également des variables.
Les variables sont similaires aux constantes, mais sont définies avec le mot-clé var
, ce qui signifie que vous pouvez changer leurs valeurs à tout moment.
Par exemple :
var MaxHealthUpgrade : int = 10
est une variable entière, et sa valeur ne peut pas toujours être 10
.
La création de variables a la syntaxe suivante :
Identifiant de variable : type = expression

Notez que le type doit être explicitement spécifié pour les variables.
Après avoir créé une variable, vous pouvez lui attribuer une valeur différente à l'aide de la syntaxe suivante :
définir un identifiant = expression

En dehors de =
, une variété d'autres opérateurs peuvent être utilisés pour muter une variable. Par exemple :
var X:int = 0
définir X += 1
définir X *= 2
Variables globales
Une variable globale dans Verse est une variable définie au niveau du module, c'est-à-dire hors d'une fonction ou d'une classe. Actuellement, la seule façon de déclarer une variable globale dans Verse est d'utiliser le type weak_map(session, t)
, où le type clé est le type de l'instance actuelle de l'île Fortnite, ou session
, et le type de valeur correspond à n'importe quel type t
. Pour en savoir plus sur weak_map
, consultez la rubrique Mappage.
Les variables globales étant définies au niveau du module, elles sont accessibles à tout code ayant accès à ce module.
L'exemple suivant montre comment créer une variable d'entier globale nommée GlobalInt
, qui est incrémentée chaque fois qu'ExampleFunction()
est appelée.
using { /Verse.org/Simulation } # Pour la session
var GlobalInt:weak_map(session, int) = map{}
ExampleFunction():void=
X := if (Y := GlobalInt[GetSession()]) then Y + 1 else 0
if:
set GlobalInt[GetSession()] = X
Print("{X}")
Les variables globales présentent les limitations suivantes :
- Vous ne pouvez accéder qu'aux valeurs de la session en cours, à l'exclusion de toute autre session.
- Il est impossible de lire ou d'écrire complètement la variable globale
weak_map
; il n'est donc pas possible de lire ou de remplacer les valeurs pour toutes les sessions. - Vous ne pouvez pas itérer toutes les valeurs d'une variable
weak_map
ni savoir combien de sessions sont actuellement actives, car uneweak_map
n'a pas de durée.