枚举类型

枚举是一组整型值的集合,每个值都有关联的名称。

  1. enum Color
  2. Red
  3. Green
  4. Blue
  5. end

枚举的值从0开始,每次增1, 值可以被覆盖, 见例子

  1. enum Color
  2. Red # 0
  3. Green # 1
  4. Blue = 5 # overwritten to 5
  5. Yellow # 6 (5 + 1)
  6. end

枚举中的常量的类型是枚举本身

  1. Color::Red #:: Color

取值

  1. Color::Green.value #=> 1
  2. # 默认情况下 ,value的类型为Int32, 但是也可以被改变
  3. enum Color : UInt8
  4. Red
  5. Green
  6. Blue
  7. end
  8. Color::Red.value #:: UInt8

枚举的数据类型只允许整型。//todo