enum¶
type enum < type, sequence
The base type of enumeration types.
meth enum(Name₁ is Value₁, ...): enum
Returns a new enumeration type.
let colour := enum(Red is 10, Green is 20, Blue is 30) :> <<colour>> colour::Red :> Red list(colour, _ + 0) :> [Red, Green, Blue]
meth enum(Names: string, ...): enum
Returns a new enumeration type.
let day := enum("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") :> <<day>> day::Wed :> Wed day::Fri + 0 :> Fri
meth (Enum: enum):count: integer
Returns the size of the enumeration
Enum
.let day := enum("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") :> <<day>> day:count :> 7
meth (Enum: enum):random: enum::value
TBD
type enum::cyclic < enum
TBD
type enum::range < sequence
A range of enum values.
type enum::value < integer
An instance of an enumeration type.
meth (Arg₁: enum::value) + (Arg₂: integer)
TBD
meth (Arg₁: enum::value) - (Arg₂: integer)
TBD
meth (Min: enum::value) .. (Max: enum::value): enum::range
Returns a range of enum values.
Min
andMax
must belong to the same enumeration.let day := enum("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") :> <<day>> day::Mon .. day::Fri :> <enum-range[day]>
meth (Arg₁: enum::value) <> (Arg₂: integer)
TBD
meth integer(Arg₁: enum::value)
TBD
meth (Arg₁: enum::value):next
TBD
meth (Arg₁: enum::value):prev
TBD
meth (Arg₁: string::buffer):append(Arg₂: enum::value)
TBD
meth (Arg₁: integer) + (Arg₂: enum::value)
TBD
meth (Arg₁: integer) <> (Arg₂: enum::value)
TBD
meth enum::cyclic(Name₁ is Value₁, ...): enum
Returns a new enumeration type.
let colour := enum::cyclic(Red is 10, Green is 20, Blue is 30) :> <<colour>> colour::Red :> Red list(colour, _ + 0) :> [Red, Green, Blue]
meth enum::cyclic(Names: string, ...): enum
Returns a new enumeration type.
let day := enum::cyclic("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") :> <<day>> day::Wed :> Wed day::Fri + 0 :> Fri