Konstanter

En konstant är en identifierare för ett statiskt värde.

Inkling stöder namngivna konstanter i det globala programomfånget. Konstanter kan inte ändras under körning. Konstanta namn är fallkänsliga och följer standardreglerna för Inidentifierare.

Stöds

  • deklarativ skrivning.
  • härdade skrivning.

Stöds inte

  • cykliska referenser.
  • kapslad deklaration.

Konstant användning som inte stöds rapporteras som ett fel av inpilatorn och inaktiverar hjärnans träning.

Förklaring

Konstanter måste tilldelas ett värde när de deklareras. Giltiga tilldelningar omfattar literaler eller deterministiska uttryck som innehåller operatorer, literaler och andra konstanter.

När konstanter har en deklarerad typ verifierar Inkompileraren att det tilldelade värdet matchar den angivna typen.

Exempelkonstanter med deklarativ typ

const NumericConst1: number = 100
const NumericConst4: number<0 .. 2> = 3 * (5 / 2) - 7
const StructConst1: {X: number, Y: string} = {X: 3, Y: "Foo"}

Exempelkonstanter med härdade typer

const MaxVelocity = 100
const MinVelocity = 0
const DebugMode = true

Användning

Konstanter behöver inte deklareras innan de används. Konstanter kan ersätta alla giltiga literaler förutsatt att typen av konstant är kompatibel med typen av kontext där den används.

const TrackLength = 0.5
const MaxVelocity = 1.0

type CartState {
    CartPosition: number<-TrackLength / 2 .. TrackLength / 2>,
    CartVelocity: number<-MaxVelocity .. MaxVelocity>,
}

Inbyggda konstanter

Inkling tillhandahåller följande inbyggda konstanter

Konstant Värde Typ
true 1 number<1>
false 0 number<0>