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

複数割り当て

割り当ては、1 つの代入ステートメントで複数の変数に対して 行うことができます。例えば、次のようになります。

  A,X = B + C;

B + C の値が AX の両方に 割り当てられます。 普通は、このステートメントは、 下記のステートメントが実行された場合と同じ結果になります。

  Temporary = B + C;
  A = Temporary;
  X = Temporary;

代入ステートメント内のソースは、スカラーまたはスカラー配列でなくてはなりません。さらに、ソースが配列の場合は、すべてのターゲットも配列でなくてはなりません。 ソースが定数である場合、各ターゲットに対して左から右に割り当てられます。 ソースが定数ではない場合、一時変数に割り当てられ、 このあと各ターゲットに対して左から右に割り当てられます。

ターゲットは、単一の割り当てで可能な参照であればどの参照でもかまいません。

BY NAME は、複数の割り当てでは使用できません。

非推奨ですが、複数の代入で、複合代入演算子を使用できます。 ただし、結果は必ずしも単純に期待されるものにならないことがあります。例えば、以下のステートメントは一般的に同じ結果を生成しません。

  c, c += c;
  c, c = c + c;

Terms of use | Feedback

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