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> |