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>