Constant Expression
Since 3.17
Constant expressions are integer expressions that are evaluated at compile time,
and that can be used in the following places:
These expressions only support a subset of Gambas operators and pre-defined constants.
Here is what you can use inside a constant expression:
Arithmetic operators.
|
+ , - , * , / , \ , DIV , % , MOD
|
Logical operators.
|
AND , OR , XOR , NOT
|
Bitwise operators.
|
Shl , Shr , Asl , Asr , Lsl , Lsr
|
Size of a native numerical or date datatype.
|
SizeOf
|
Boolean constants
|
TRUE , FALSE
|
Native datatype constants.
|
gb.Boolean
gb.Byte
gb.Short
gb.Integer
gb.Long
gb.Single
gb.Float
gb.Date
|
Any private integer constant identifier previously declared.
|
|
In the context of constant integer expressions, The /
operator acts like the integer division operator \
.
Examples
Public Const Alpha As Integer = 1
Public Const Beta As Integer = (Alpha * 2) + 1
Public Const Delta As Byte = Beta + Alpha
Private Enum FirstFlag = 1 Shl 0, SecondFlag = 1 Shl 1, ThirdFlag = 1 Shl 2
Private SomeEmbeddedArray[Delta * SizeOf(gb.Short)] As String