NETJVM 

列挙と列挙型

列挙は、曜日の値などの定数値のリストを表す。その値やシンボリック名を定義する列挙型を宣言できる。その後、値を名前別に参照できる。

たとえば、曜日の列挙型は次のように宣言する。

enum-id DaysOfWeek as "DaysOfWeek".01 binary-long.78 Sunday value 0.*> optional, as 0 is the default 78 Monday.*> by default, this is value 1 78 Tuesday.*> by default, this is value 2 and so on 78 Wednesday.78 Thursday.78 Friday.78 Saturday. end enum.

これで、コード内でこの列挙型を次のように参照できるようになる。

set today to type DaysOfWeek::Monday

DaysOfWeek::Monday は binary-long の値 1 を表す。

コンパイラは、列挙の値を含む配列を返す「values」という静的メソッドを追加する。このメソッドと PERFORM THROUGH コンストラクトを一緒に使用して、列挙型の値を反復できる。

ENUM-ID 段落を使用して列挙を宣言できる。この後には、次の内容で構成される作業場所節が続く。

.NET では、属性 System.FlagsAttribute を設定する必要がある。列挙にこの属性が適用されると、ビット設定として各値は別個と見なされるため、値の組み合わせが可能になる。次に例を示す。

enum-id DaysOfWeek attribute System.FlagsAttribute.