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

  dcl x char(20);
  dcl y char(20) varying;

  x, y = '';

  x = copy( '*', length(x) );    /* fills x with '*'   */
  y = copy( '*', length(y) );    /* leaves y unchanged */

  x = copy( '-', maxlength(x) ); /* fills x with '-'   */
  y = copy( '-', maxlength(y) ); /* fills y with '-'   */

y の最初の割り当ては、未変更のままになります。上記のコードの断片で使用される場合、length(y) は、ゼロを戻す (y は VARYING であり、事前に ' ' とセットされている) ためです。

しかし、y への 2 番目の割り当てでは、maxlength(y) が 20 (y の宣言された長さ) を戻すため、- 符号が 20 個入ります。


Terms of use | Feedback

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