シグネチャ
{define-enum [access] type ...}
列挙データ型を作成します。
access: 列挙型のアクセス属性。public 、library、または package (既定)です。
type: 列挙データ型の名前。有効な Curl 識別子を指定します。
...: 列挙型の要素を指定する残余引数。要素間を区切るにはカンマを使用します。残余引数内の各要素は次のフォームを持ちます。
name [=
value]
ここで、
name は要素の名前で、
value は要素の値です。
name の有効な Curl 識別子を指定します。
value は、数値、
char、
bool、または
String として評価できるオプションのパラメータです。要素の値を指定しないと、自動的に指定されます。値のない最初の要素はインデックス
0、 値のない 2 番目の要素はインデックス
1 というふうに、明示的な値を持たない後続の各要素について、 1 づつ増加した値が指定されます。
説明
列挙データ型は、指定した要素のセットだけから成るデータ型です。各要素は次の属性を持ちます。
- 名前。String です。
- 値。数値、char、 bool、または String として評価できる値です。
- インデックス。int です。インデックスは指定しないでください。各要素のインデックスは Curl が指定します。最初の要素にインデックス 0、2 番目の要素にインデックス 1 というふうに、後続の各要素について 1 つづ増加したインデックスが指定されます。
新しく定義されたデータ型の変数は、宣言されてその型の要素に初期化できます。次のようになります。
let x:type = type.name
便宜上、値が要素の名前のどれかである
String 式を、列挙型の変数に指定することもできます。その場合はその式が、対応する列挙型要素に自動的にキャストされます。次に例を示します。
let x:type = "name"
注意事項
列挙型とその値についての一般的な命名規則は、型名には大文字 / 小文字混合、値には小文字のみを使用します。
Curl 識別子に関するルールと規則の詳細については、『開発者ガイド』の「
データ型:変数:識別子の選択」を参照してください。
例
次のコードは、
Bear という名前の列挙型を作成し、テーブル内にその値を表示します。
例 |
 |
{define-enum Bear
polar = "endangered",
grizzly = "threatened",
panda,
pooh = "abundant"
}
{let table =
{Table
{row-prototype font-weight = "bold",
"index", "name", "value"
}
}
}
{for bear in Bear do
{table.add
{row-prototype bear.index, bear.name, bear.value}
}
}
{value table}
| |
この列挙データ型
Bear には、次の 4 つの要素があります。
- 値が "endangered" でインデックスが 0 の Bear.polar
- 値が "threatened" でインデックスが 1 の Bear.grizzly
- 既定値が 0 (値が指定されていないため) でインデックスが 2 の Bear.panda
- 値が "abundant" でインデックスが 3 の Bear.pooh
for を使用して列挙型の値を反復できることにも留意してください。
注意事項