引数
関数によっては、戻り値が、その関数の評価時に関数 ID 内で指定された引数によって決まるものもあります。 引数を必要としない関数もあれば、固定数の引数を必要とする関数もあり、そしてまた、可変数の引数を認める関数もあります。
引数は次のいずれかでなければなりません。
- ID
- 算術式
- 関数 ID
- 表意定数以外のリテラル
- 特殊レジスター
- 簡略名
- キーワード
関数への引数として、結果がその引数のカテゴリー要件を満たす任意の関数または関数を含む式 (同じ関数の別の評価も含めて) が認められています。
関数に特有の引数指定については 関数定義を参照してください。
引数のタイプには次のものがあります。
- 英字
- 英字クラスまたは英字のみを含む非数字リテラルの基本データ項目。 引数の内容は、関数の値を決定するのに使用されます。 引数の長さを使用して、関数の値を決定することもできます。
- 英数字
- 英字クラスまたは英数字クラス、または非数字リテラルのデータ項目。 引数の内容は、関数の値を決定するのに使用されます。 引数の長さを使用して、関数の値を決定することもできます。
IBM Extension
IBM Extension
- ブール
- ブール・クラスのデータ項目またはブール・リテラル。
- DBCS
- DBCS クラスまたは DBCS リテラルのデータ項目。 引数の内容は、関数の値を決定するのに使用されます。 引数の長さを使用して、関数の値を決定することもできます。
国別
NATIONAL クラスまたは国別リテラルのデータ項目。
引数の内容は、関数の値を決定するのに使用されます。
引数の長さを使用して、関数の値を決定することもできます。
- 日時
- 日時クラスのデータ項目。 引数の内容は、関数の値を決定するのに使用されます。 引数の長さを使用して、関数の値を決定することもできます。
End of IBM Extension
- 指標
- 指標データ項目。引数に関連付けられているサイズをその引数の値の判別に使用できます。
- 整数
- 結果が常に整数値になる算術式。 この式の、符号も含めた値は、関数の値を決定するのに使用されます。
- 数字
- 算術式の、符号も含めた値は、関数の値を決定するのに使用されます。
IBM Extension
IBM Extension
- キーワード
- キーワードは関数定義に従って指定する必要があります。
- 簡略名
- SPECIAL-NAMES 段落で定義した簡略名が指定されます。 簡略名に関連付けられている機能を関数の値の判別に使用できます。
- ポインター
- ポインター ID。引数に関連付けられているサイズを関数の値の判別に使用できます。
- タイプ宣言
- タイプ名が指定されます。 タイプ宣言に関連付けられているサイズを関数の値の判別に使用できます。
- 特殊レジスター
- 特殊レジスターは関数定義に従って指定する必要があります。 特殊レジスターに関連付けられている情報を関数の値の判別に使用できます。
End of IBM Extension
関数によっては引数に、例えば受け入れ値の範囲といった制約を定めているものもあります。 関数の引数として割り当てられた値が指定された制約にしたがっていない場合、戻り値は未定義になります。
ネストされた関数が引数として使用された場合、その関数の引数の評価は、外側の関数の引数の影響を受けません。
同じ関数レベルの引数のみが互いに影響し合います。この相互の影響は、次の 2 つの場合に生じます。
- 関数の引数として現れる算術式の計算は、その関数の別の引数の影響を受けます。
- 関数の評価においては、そのすべての引数の属性が考慮されます。
IBM Extension
IBM Extension
浮動小数点リテラルは、数字引数の使用が認められている場合、 および数字引数を取ることができる関数内で使用される算術式の中では、どこでも使用できます。 浮動小数点リテラルは、整数の引数が必要であるところでは認められていません。
外部浮動小数点項目は、数字引数の使用が認められている場合、 および数字引数を取ることができる関数内で使用される算術式の中では、どこでも使用できます。
外部浮動小数点項目は、整数の引数が必要であるところや、 関数 ID で英数字クラスの引数が認められているところ (例えば LOWER-CASE、REVERSE、 UPPER-CASE、NUMVAL、および NUMVAL-C 関数) では、認められていません。
End of IBM Extension End of IBM Extension