枚举

枚举类型的变量只能赋值为枚举指定的值。这些值是有序符号的集合。每个符号映射到内部的一个整数类型。第一个符号用运行时的0表示,第二个用1,以此类推。例如:

  1. type
  2. Direction = enum
  3. north, east, south, west
  4.  
  5. var x = south # `x`是`Direction`; 值是`south`
  6. echo x # 向标准输出写"south"

所有对比操作符可以用枚举类型。

枚举符号

枚举的符号可以被限定以避免歧义: Direction.south

$ 操作符可以将任何枚举值转换为它的名字, ord 过程可以转换为它底层的整数类型。

为了更好的对接其它编程语言,枚举类型可以赋一个显式的序数值,序数值必须是升序。