Enum
caution
Not all features mentioned here are implemented
An enum is a set of named values. An enum can be assigned any expression and thus allows for a lot of power. An enum (by default) uses auto incremented integers as values. Enums are a constant data structure and can not be assigned to. Enums are scoped, see scoping for more information.
#
BasicsCreating an enum is as simple as providing the enum
keyword and an identifier followed by curly braces.
enum Colors { Red, Green, Blue}
This creates an enum named Colors
and is constant. Accessing values is simple and can be done as follows.
Colors.Red // 0Colors.Green // 1Colors.Blue // 2
#
Expressive ValuesAn enum allows in addition to primitive values, any expression as it's value. The key is always required to be a valid identifier (starts with a character or underscore and followed by alphanumerics). An example with car manufacturers could be the name of the manufacturer and an array of vehicles that they've produced.
enum Cars { Volkswagen = ["Fox", "ID3", "Golf"] Audi = ["E-Tron", "Q5"]}