ILE COBOL 解説書


引数

関数によっては、戻り値が、その関数の評価時に関数 ID 内で指定された引数によって決まるものもあります。 引数を必要としない関数もあれば、固定数の引数を必要とする関数もあり、そしてまた、可変数の引数を認める関数もあります。

引数は次のいずれかでなければなりません。

関数への引数として、結果がその引数のカテゴリー要件を満たす任意の関数または関数を含む式 (同じ関数の別の評価も含めて) が認められています。

関数に特有の引数指定については 関数定義を参照してください。

引数のタイプには次のものがあります。

英字
英字クラスまたは英字のみを含む非数字リテラルの基本データ項目。 引数の内容は、関数の値を決定するのに使用されます。 引数の長さを使用して、関数の値を決定することもできます。

英数字
英字クラスまたは英数字クラス、または非数字リテラルのデータ項目。 引数の内容は、関数の値を決定するのに使用されます。 引数の長さを使用して、関数の値を決定することもできます。

+----------------------------------IBM 拡張----------------------------------+

ブール
ブール・クラスのデータ項目またはブール・リテラル。

DBCS
DBCS クラスまたは DBCS リテラルのデータ項目。 引数の内容は、関数の値を決定するのに使用されます。 引数の長さを使用して、関数の値を決定することもできます。

国別
NATIONAL クラスまたは国別 16 進リテラルのデータ項目。 引数の内容は、関数の値を決定するのに使用されます。 引数の長さを使用して、関数の値を決定することもできます。

日時
日時クラスのデータ項目。 引数の内容は、関数の値を決定するのに使用されます。 引数の長さを使用して、関数の値を決定することもできます。

+------------------------------End of IBM 拡張-------------------------------+

指標
指標データ項目。引数に関連付けられているサイズをその引数の値の判別に使用できます。

整数
結果が常に整数値になる算術式。 この式の、符号も含めた値は、関数の値を決定するのに使用されます。

数字
算術式の、符号も含めた値は、関数の値を決定するのに使用されます。

+----------------------------------IBM 拡張----------------------------------+

キーワード
キーワードは関数定義に従って指定する必要があります。

簡略名
SPECIAL-NAMES 段落で定義した簡略名が指定されます。 簡略名に関連付けられている機能を関数の値の判別に使用できます。

ポインター
ポインター ID。引数に関連付けられているサイズを関数の値の判別に使用できます。

タイプ宣言
タイプ名が指定されます。 タイプ宣言に関連付けられているサイズを関数の値の判別に使用できます。

特殊レジスター
特殊レジスターは関数定義に従って指定する必要があります。 特殊レジスターに関連付けられている情報を関数の値の判別に使用できます。

+------------------------------End of IBM 拡張-------------------------------+

関数によっては引数に、たとえば受け入れ値の範囲といった制約を定めているものもあります。 関数の引数として割り当てられた値が指定された制約にしたがっていない場合、戻り値は未定義になります。

ネストされた関数が引数として使用された場合、その関数の引数の評価は、外側の関数の引数の影響を受けません。

同じ関数レベルの引数のみが互いに影響し合います。この相互の影響は、次の 2 つの場合に生じます。

+----------------------------------IBM 拡張----------------------------------+

浮動小数点リテラルは、数字引数の使用が認められている場合、 および数字引数を取ることができる関数内で使用される算術式の中では、どこでも使用できます。 浮動小数点リテラルは、整数の引数が必要であるところでは認められていません

外部浮動小数点項目は、数字引数の使用が認められている場合、 および数字引数を取ることができる関数内で使用される算術式の中では、どこでも使用できます。

外部浮動小数点項目は、整数の引数が必要であるところや、 関数 ID で英数字クラスの引数が認められているところ (たとえば LOWER-CASE、REVERSE、 UPPER-CASE、NUMVAL、および NUMVAL-C 関数) では、認められていません

+------------------------------End of IBM 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]