Constantes
Une constante est un identificateur pour une valeur statique.
Inkling prend en charge des constantes nommées dans l’étendue du programme global. Les constantes ne peuvent pas changer au cours de l’exécution. Les noms de constantes respectent la casse et suivent les règles d’identificateur Inkling standard.
Pris en charge
- typage déclaratif ;
- typage inféré.
Non pris en charge
- références cycliques ;
- déclaration imbriquée.
L’utilisation de constante non prise en charge est signalée comme une erreur par le compilateur Inkling et désactive l’apprentissage du cerveau.
Déclaration
Une valeur doit être attribuée aux constantes lors de leur déclaration. Les attributions valides sont des littéraux ou une expression déterministe incluant des opérateurs, des littéraux et d’autres constantes.
Quand des constantes ont un type déclaré, le compilateur Inkling vérifie que la valeur attribuée correspond au type spécifié.
Exemples de constantes avec un type déclaratif
const NumericConst1: number = 100
const NumericConst4: number<0 .. 2> = 3 * (5 / 2) - 7
const StructConst1: {X: number, Y: string} = {X: 3, Y: "Foo"}
Exemples de constantes avec un type inféré
const MaxVelocity = 100
const MinVelocity = 0
const DebugMode = true
Usage
Les constantes n’ont pas besoin d’être déclarées avant leur utilisation. Une constante peut remplacer tout littéral valide à condition que le type de la constante soit compatible avec le type du contexte dans lequel elle est utilisée.
const TrackLength = 0.5
const MaxVelocity = 1.0
type CartState {
CartPosition: number<-TrackLength / 2 .. TrackLength / 2>,
CartVelocity: number<-MaxVelocity .. MaxVelocity>,
}
Constantes intégrées
Inkling fournit les constantes intégrées suivantes
Constante | Valeur | Type |
---|---|---|
true |
1 |
number<1> |
false |
0 |
number<0> |