A constant is an identifier with an associated predefined value. The identifier must be unique in the current compilation context (the main source file and all includes).
In compile-time the constant gets replaced with the value associated with it, e.g., a number or a string literal. Contrary to a variable the value of the constant cannot be changed in run-time.
Constants are declared either statically or dynamically. Each edit mode can load static constant definitions from a file using the <constants>
parameter in the modes.xml
. Dynamic declarations get created in the script code with the syntax outlined below.
To declare a new constant in the code, use the const
keyword.
const <constant name> = <constant value>
A constant name is any allowed identifier (a combination of letters, numbers and _
). There are names reserved by the compiler that cannot be used, such as Continue
, Break
, and
etc. (see compiler.ini)
.
A constant value might be a number (also a model identifier or a label); a string literal; a variable (also a class property); another constant.
For example:
const x = 5
You can declare multiple constants separating each declaration with a comma like this:
const a = 1, b = 2, c = 3
If you prefer to have each declaration on its own line, conclude them in a CONST..END
construct:
const
a = 1
b = 2
c = 3
end
{% hint style="info" %}
If the Language service is enabled, a list of constants gets displayed after pressing Ctrl+Space
.
{% endhint %}