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

RETURNS オプションとその属性

プロシージャーが関数プロシージャーである場合には、 プロシージャー・ステートメントに RETURNS オプションを 指定しなければなりません。 さらに、呼び出しプロシージャーまたはパッケージで、 RETURNS 属性のついた入り口としてプロシージャーを宣言しなければなりません。 RETURNS オプションおよび RETURNS 属性は、 戻される値の属性を指定するために使用されます。 RETURNS オプションの属性は、RETURNS 属性の属性と 一致しなければなりません。

サブルーチンである (そのため、CALL ステートメントを使用して 呼び出された) プロシージャーは、 プロシージャー・ステートメントに RETURNS オプションを 持ってはならず、その入り口宣言は RETURNS 属性を持ってはなりません。

構文図を読む構文図をスキップする               .-----------.
               V           |
>>-RETURNS--(----attribute-+--)--------------------------------><
 

複数の属性を指定する場合は、属性をブランクで区切る 必要があります (括弧で囲まれる精度などの属性以外の場合)。

属性は、それが宣言ステートメント内にあるのと同じ方法で指定されます。 デフォルトは通常の方法で適用されます。

指定される属性は、(表 8 に示されている) スカラー変数の データ属性や位置合わせ属性になります。 ENTRY 変数は、LIMITED 属性を持たなければなりません。 また、TYPE 属性を指定して、ユーザー定義タイプ、序数、 およびタイプ付き構造体および共用体を指定することができます。

ストリングの長さおよび区域サイズは、定数で指定されなければなりません。 戻り値は、指定される長さまたはサイズを持ちます。

また、BYADDR と BYVALUE も RETURNS の属性のリストに指定することができます。 プロシージャーにいずれかの ENTRY ステートメントが含まれており、な おかつ、そのプロシージャーまたは 2 次エントリー・ポイントのどれかが、次のいずれかの値を戻 す場合、BYADDR 属性が有効でなくてはなりません。

z/OS では、BYADDR が RETURNS のデフォルトです。 C 関数を呼び出す場合、RETURNS の属性リスト内に BYVALUE が指定されていなければなりません。 これらの属性については、BYVALUE および BYADDR の使用を参照してください。


Terms of use | Feedback

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