Enums
⚠️ TODO
Example
// integer based enum, implicitly converts to int
enum Fruit {
apple, // 0
banana, // 1
orange, // 2
cherry = 10, // 10
raspberry // 11
}
// other types can be used as the base type
enum Name: string {
peter = "Peter",
tom = "Tom",
cloe = "Cloé"
}
// type based enum - values of this enum are
// represented internally as a tagged union
enum DatabaseField {
fruit: Fruit,
name: Name
}
var field = DatabaseField.fruit(Fruit.banana);
assert (field.isFruit);
assert (field.fruit == Fruit.banana)
switch (field) {
case .fruit: print("Fruit: ", field.fruit);
case .name: pring("Name: ", field.name);
}