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

挿入演算子と配列

挿入演算子演算の一方のオペランドが配列変数のときは、 他方のオペランドはエレメント、別の配列でもかまいません。

配列とエレメントの演算

エレメントと配列が挿入演算子で結ばれている式の結果は、もとの配列と同じ境界を持つ配列になります。 この配列の各エレメントは、元の配列内の対応するエレメントと単一エレメントとの間で行われた演算の結果になります。 以下に例を示します。

  If A is the array         5  10   8
                           12  11   3
 
  then A*3 is the array    15  30  24
                           36  33   9
 
  and 9 > A is the array of   1   0   1
  bit strings of length 1     0   0   1

配列とエレメントの間で演算を行う場合、そのエレメントは、 その配列内のエレメントであってもかまいません。 次の代入ステートメントを考えてください。

  A = A * A(1,2);

再度 A に上記の値を使えば、 新しく A に割り当てられる値は次のようになります。

     50    100   800
   1200   1100   300

つまり、A(1,2) の値が再び取り出されます。

配列同士の演算

挿入演算子演算の 2 つのオペランドが共に配列である場合は、この 2 つの配列の次元の数は同じでなければならず、しかも対応する次元ごとに下限と上限が同じでなければなりません。 演算結果は、元の 2 つの配列と同じ限界を持つ配列になります。演算は、元の 2 つの配列の対応するエレメント間で行われます。 以下に例を示します。

  If A is the array          2   4   3
                             6   1   7
                             4   8   2

  and if B is the array      1   5   7
                             8   3   4
                             6   3   1

  then A+B is the array      3   9  10
                            14   4  11
                            10  11   3

  and A*B is the array       2  20  21
                            48   3  28
                            24  24   2

  and A>B is the array of    1   0   0
  bit strings of length 1    0   0   1
                             0   1   1

Terms of use | Feedback

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