枚举
枚举类型的变量只能赋值为枚举指定的值。这些值是有序符号的集合。每个符号映射到内部的一个整数类型。第一个符号用运行时的0表示,第二个用1,以此类推。例如:
- type
- Direction = enum
- north, east, south, west
- var x = south # `x`是`Direction`; 值是`south`
- echo x # 向标准输出写"south"
所有对比操作符可以用枚举类型。
枚举符号
枚举的符号可以被限定以避免歧义: Direction.south 。
$ 操作符可以将任何枚举值转换为它的名字, ord 过程可以转换为它底层的整数类型。
为了更好的对接其它编程语言,枚举类型可以赋一个显式的序数值,序数值必须是升序。