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

複合代入ステートメント

複合代入ステートメントには、以下の構文を使用します。

構文図を読む構文図をスキップする   .-,---------.
   V           |
>>---reference-+-- compound assignment operator --expression---->
 
>--;-----------------------------------------------------------><
 
reference
割り当てを指定するターゲットを指定します。
compound assignment operator
割り当てが行われる前に、参照および計算された式に適用する演算子を指定します。 表 28 に、複合割り当てで使用できる 複合代入演算子をリストしています。
expression
計算され、変換される可能性がある式を指定します。

区域の割り当てについては、区域データとその属性の項で説明しています。

表 28. 複合代入演算子
複合代入演算子 意味
+= 式の計算、加算および代入
-= 式の計算、減算および代入
*= 式の計算、乗算および代入
/= 式の計算、除算および代入
|= 式の計算、OR および代入
&= 式の計算、AND および代入
||= 式の計算、連結と代入
**= 式の計算、指数化および代入
¬= 式の計算、排他 OR および代入

最初に演算子がターゲットおよびソースに適用され、 次にその結果がターゲットに割り当てられます。

以下に例を示します。

X += 1 は次と等しい X = X+(1)
X *= Y+Z は次と等しい X = X*(Y+Z)

ただし、

X *= Y+Z は次と等しくない X = X*Y+Z

複合割り当てでは、ターゲット変数に指定された任意の添え字またはロケーター式が、 一度だけ計算されます。

f が関数であり、X が配列の場合は、

X(f()) += 1 は次と等しくない X(f()) = X(f())+1

関数 f は一度だけ呼び出されます。

以降では、次のトピックについて説明しています。

割り当ての例は、内部データ移動の例から記載されています。


Terms of use | Feedback

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