自由形式構文 | EVALR{(MR)} 結果 = 式 |
コード | 演算項目 1 | 拡張演算項目 2 | ||||
---|---|---|---|---|---|---|
EVALR (M/R) | 割り当てステートメント |
EVALR 命令コードは、結果=式の形式の割り当てステートメントを評価 します。 式が評価されると、結果が結果の中で右寄せされます。 したがって、結果をリテラルまたは定数とすることはできず、固定長 の文字、図形、または UCS-2 のフィールド名、配列名、配列要素、データ構造、 データ構造サブフィールド、または %SUBST 組み込み関数を使用したストリングと しなければなりません。 式のタイプは結果のタイプと同じでなければなりません。 結果は右寄せ され、必要に応じて、左側がブランクで埋め込まれるか、左側で切り捨てられます。
結果が指標のない配列や 配列 (*) として指定された配列を表す場合に は、演算での配列の指定に説明されている規則に従って、 結果のそれぞれの要素に式の値が割り当てられます。 そうでない場合には、式が一度評価されて、その値が配列またはサブ配列のそ れぞれの要素に入れられます。
式の概要については、式を参照してください。数値式の精度に関する 規則については、数値演算の精度の規則を参照してください。これは、式に 除算命令が入っている場合、または EVALR が いずれかの命令拡張を使用する場合には、特に重要です。
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+.... D*Name++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++ D Name S 20A /FREE eval Name = 'Kurt Weill'; // Name is now 'Kurt Weill ' evalr Name = 'Johann Strauss'; // Name is now ' Johann Strauss' evalr %SUBST(Name:1:12) = 'Richard'; // Name is now ' Richard Strauss' eval Name = 'Wolfgang Amadeus Mozart'; // Name is now 'Wolfgang Amadeus Moz' evalr Name = 'Wolfgang Amadeus Mozart'; // Name is now 'fgang Amadeus Mozart' /END-FREE
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.