ArrayDictionary
ArrayDictionary パーツは、列として定義される配列のセットに行指向のアクセスを提供します。 つまり、このパーツを使用してそれぞれの配列から同じ番号の要素を取り出すことにより、一連の配列にアクセスできます。 この方法で取り出された要素セットは、それ自体が 1 つの辞書であり、それぞれのオリジナル配列名は、配列要素に格納された値と対になったキーとして扱われます。
ArrayDictionary パーツは常時使用可能であり、定義は必要ありませんが、それに基づいた変数を単に宣言します。
次の図は、宣言に ID、lastName、firstName、および age という名前の配列を含む ArrayDictionary の例を示したものです。配列辞書を 1 次元の辞書の配列 (次の「キー/値」エントリーを含む辞書を囲む楕円) として考えることもできます。
ID = 5,
lastName = "Twain",
firstName = "Mark",
age = 30

次のコードには配列のリストの宣言が示されていて、その後に、これらの配列を使用する配列辞書の宣言が続いています。
ID INT[] = [1,3,5,9];
lastName STRING[] = ["Cervantes", "Moliere", "Twain", "Tolstoy"];
firstName STRING[] = ["Miguel", "", "Mark", "Lev"];
age INT[] = [90, 29, 30, 55];
myRows ArrayDictionary
{
col1 = ID,
col2 = lastName,
col3 = firstName,
col4 = age
};
その ArrayDictionary 構文を使用して、配列そのものの値の更新や特性の変更を行うことはできません。
値は、行番号と列名を指定して配列辞書から取得することができます。以下がその同様例です。
cell INT = myRows[2]["col1"];
cell INT = myRows[2].col1;
特定の辞書を分離してから、その辞書内の特定のフィールド (「キー/値」エントリー) を分離することが便利な場合があります。次の例のように、最初に辞書を宣言し、その辞書に配列辞書の行を代入します。
row Dictionary = myRows[2];
次に、適当な型の変数を宣言し、次のどちらかの例を使用して、その変数に要素を代入します。
cell INT = row["col1"];
cell INT = row.col1;
EGL のコンソール UI では、データ行およびデータ列両方の画面表示に、 配列辞書を使用します。例えば、各行 (辞書) は、POS 端末でのトランザクションを示します。
ArrayDictionary パーツは、Array または Dictionary のいずれの関数、プロパティーも持ちません。
互換性に関する考慮事項
| プラットフォーム | 問題 |
|---|---|
| JavaScript 生成 | ArrayDictionary はサポートされません。 |