てきとう

てきとう

Adaにおける列挙型 enumeration type

type Foo_Bar_Baz is (Foo, Bar, Baz);

みたいなやつ。論理型 Boolean もパッケージ Standard で以下のように定義される。

type Boolean is (True, False)

ついでに文字 Character(文字列 String ではない)も。

type Character (nul, soh, stx, (略) , '0', '1', '2', (略) , '@', 'A', 'B', (略) , 'ý', 'þ', 'ÿ');

Characterは16#FF#種類だが、16#FFFF#種類のWide_Characterや16#7FFFFFFF#種類のWide_Wide_Character*1も存在する。Unicodeとか扱うのに使える。
ちなみに、列挙型の各項目は関数らしい(確かにARMに書いてあった。)ので、別な型で名前が被っていても全く問題ない。

*1:ネーミングが安易なような気がする…