Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

添え字

配列エレメントの参照方法は、配列の上限と下限によって決まります。 例えば、次のようなデータ項目があるとします。

  20 5 10 30 630 150 310 70

上記データ項目を、前述で宣言した List という配列に割り当てたとします。 さまざまなエレメントが、次のように参照されます。

参照
エレメント
LIST (1)
20
LIST (2)
5
LIST (3)
10
LIST (4)
30
LIST (5)
630
LIST (6)
150
LIST (7)
310
LIST (8)
70

LIST のあとに書かれている括弧内の数字を添え字 といいます。 添え字を括弧で囲んで配列名のあとに書くと、その配列内の特定のデータ項目を指すことになります。 LIST(4) のように、添え字付きの名前を参照すると、1 つのエレメントを参照することになります。これは要素変数です。 添え字が付いていない配列名 (例えば、LIST) を書けば、 配列全体を参照することができます。

前述で宣言した List_AList_B に 同じデータを割り当てることができます。 この場合は、次のように参照します。

参照 エレメント 参照
LIST_A (4) 20 LIST_B (-4)
LIST_A (5) 5 LIST_B (-3)
LIST_A (6) 10 LIST_B (-2)
LIST_A (7) 30 LIST_B (-1)
LIST_A (8) 630 LIST_B (0)
LIST_A (9) 150 LIST_B (1)
LIST_A (10) 310 LIST_B (2)
LIST_A (11) 70 LIST_B (3)

同じデータを TABLE (2 次元の配列として宣言されている) に割り当てたとします。 TABLE は、次のように 4 行 2 列の行列として表せます。

TABLE(m,n) (m,1) (m,2)
(1,n) 20 5
(2,n) 10 30
(3,n) 630 150
(4,n) 310 70

TABLE のエレメントを参照するときは、コンマで区切った 2 つの添え字を括弧で囲んで、配列名のあとに書きます。 例えば、TABLE(2,1) は、2 行目の最初の項目 (この例では 10 というデータ項目) を指します。

TABLE を図示するのに行列を使用したのは、概念的にその方がわかりやすいためで、 実際にはデータ項目はストレージでそのように編成されているわけではありません。 データ項目は、行を主体とした順序で割り当てられます。 つまり列を表す添え字がまず変化するということを意味します。 例えば、TABLE への割り当て順序は、TABLE(1,1)、TABLE(1,2)、TABLE(2,1)、TABLE(2,2) というようになります。

添え字を使用して配列を参照するときは、添え字の数は配列の次元の数と同じでなければなりません。

有効な算術値が得られる式であれば、添え字として使うことができます。 必要に応じて、値は (CMPAT コンパイラー・オプションに対応した精度で) FIXED BINARY に変換されます。 例えば、TABLE(I,J*K) を使用し、I、J、K の値を変えていけば、TABLE の個々のエレメントを参照できます。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)