ArrayDictionary

arrayDictionary パーツ は、常時使用可能なパーツであり、定義を必要としません。 arrayDictionary パーツに基づいた変数を使用すると、一連の配列にアクセスし、すべての配列から同じ番号が付いたエレメントを取り出すことができます。この方法で取り出されたエレメント・セットは、それ自体が 1 つの辞書であり、それぞれのオリジナル配列名は、配列エレメントに格納された値と対になったキーとして扱われます。

arrayDictionary は、『コンソール・ユーザー・インターフェース』で説明されている表示テクノロジーとの関係で特に便利です。

次の図は、宣言に IDlastnamefirstname、および age という名前の配列を含んでいる arrayDictionary の例を示したものです。楕円で囲まれている辞書には、以下の「キーおよび値」エントリーが含まれています。
  ID = 5,
  lastName = "Twain",
  firstName = "Mark",
  age = 30

配列辞書の図

この配列は辞書の配列であり、図では各辞書が横でなく上下に並べて示されています。しかし、arrayDictionary の宣言では配列の初期リストが必要となり、図では配列が横並びに示されています。

次のコードは、配列のリストの宣言を示しており、その後に、それらの配列を使用する arrayDictionary の宣言が続いています。
  ID        INT[4];
  lastName  STRING[4];
  firstName STRING[4];
  age       INT[4];

  myRows ArrayDictionary
  {
    col1 = ID,
    col2 = lastName,
    col3 = firstName,
    col4 = age
  }; 

値を取り出すために、コードでは、特定の辞書を分離してから、その辞書内にある特定のフィールド (「キーおよび値」エントリー) を分離する構文が使用されます。その arrayDictionary 構文を使用して、arrayDictionary 自体の値の更新や特性の変更を行うことはできません。

最初に、辞書を宣言し、次の例のように、その辞書へ arrayDictionary の行を代入します。
  row Dictionary = myRows[2];
次に、適当な型の変数を宣言し、次のどちらかの例のように、その変数にエレメントを代入します。
  cell INT = row["ID"];

  cell INT = row.ID;
代わりに、次のどちらかの例のように、値を 1 ステップで取り出す構文もあります。
  cell int = myRows[2]["ID"];

  cell int = myRows[2].ID; 

関連する概念
コンソール・ユーザー・インターフェース
Dictionary
EGL での変数の参照

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.