列挙

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

コンテキスト:

    プログラムの構造
        タイプ

enum-specification

enum-header type-specifier enum-constant

enum-header

access-modifier attribute-clause

enum-constant

type-specifier

enum-id Action public.
working-storage section. 
01 binary-long.         *> 列挙の基本的なタイプ  
                        *> binary-long がデフォルト
    78 Starter value 0. *> 列挙値をレベル 78 項目で宣言する
    78 Stop    value 1.
    78 Rewind  value 2.
    78 Forward value 3.
end enum. 

列挙のサンプルも参照してください。このサンプルは、[スタート > すべてのプログラム > Micro Focus Enterprise Developer > Samples] の COBOL for JVM の下にあります。

その他の情報

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

enum-header の後には、次の内容で構成される working-storage セクションが続きます。

  • あらかじめ定義されたいずれかのタイプの単一数値フィールド。デフォルトでは binary-long になります。
  • 列挙の値を定義する任意の数のレベル 78 項目。最初の項目のデフォルト値は 0 で、以降の項目の値はデフォルトで増分されます。
注:

JVM ではなく .NET 用の COBOL では、属性 System.FlagsAttribute を設定する必要があります。列挙にこの属性が適用されると、他とは異なる値がビット設定と見なされるため、これらの値を組み合わせることができます。次に例を示します。

enum-id DaysOfWeek attribute System.FlagsAttribute.
注:

JVM 用の COBOL では、Java と同様に、列挙宣言で列挙クラスが定義されます。このクラスは、java.lang.Enum から派生するクラスです。Java では、この列挙クラスに、ユーザが明示的に宣言するメソッドや他のフィールドをインクルードできますが、 これは COBOL では許可されません。