Enum
Enum
Enums defines a common type for a group of related values. If you are familiar with C, you will know that C enumerations assign related names to a set of integer values. Enums in Gravity are much more flexible and enable you to assign any literal value (Int, Float, String, Bool):
enum state {
nothing, // default to 0
active, // default to 1
inactive, // default to 2
undetermined = 666,
error // 667
}
enum math {
pi = 3.141592,
e = 2.718281,
goldratio = 1.618033
}
enum company {
ceo = "Gauss",
cto = "Eurel",
cfo = "Nostradamus"
}
enum mixed {
one = "Hello World",
two = 3.1415,
three = 666,
four = true
}
func main() {
var a = state.active; // a = 1
var b = math.pi; // b = 3.1415
var c = company.ceo; // c = "Gauss"
var d = mixed.four; // d = true
}
Enum is a static operator, which means that at compile time the real value of the enum item is automatically replaced by Gravity.