1Kuinの列挙型
Kuinでは、列挙型を図1-1のように定義します。
enum 名前
要素名1
要素名2
要素名3 :: 要素の値
…
end enum
列挙型の要素はそれぞれint型の値を持ち、他の型にキャストした場合にはその値になります。 要素の値は明示的に指定できますが、省略することもできます。
列挙型の仕様は図1-2の通りです。
- 要素の値はコンパイル時に定数に確定できなければならない。
- 要素の値は重複してはならない。
- 要素の値を明示的に指定しなかった場合は先頭から順に「0、1、2、3、…」と0から始めて1ずつ増やしながら設定される。
- 要素の値を明示的に指定した場合は指定した値になり、その後指定しなかった場合はその値から始めて1ずつ増やしながら設定される。
列挙型の要素を式の中で参照するには、「%要素名」とします(図1-3)。
- enum Color
- red
- green
- blue
- end enum
-
- func main()
- var color: @Color :: %red
- end func