戻り値

値を戻すプロシージャーは、本質的には 組み込み関数 と類似したユーザー定義の機能で す。 サブプロシージャーの戻り値を定義するためには、以下のことが必要です。

  1. 戻り値をサブプロシージャーのプロトタイプとプロシージャー・インターフ ェース定義の両方に定義します。
  2. 戻された値が入れられる拡張演算項目 2 フィールドに式を 指定した RETURN 命令をコーディングします。

プロシージャー・インターフェースの仕様 (24 から 25 桁目に PI がある定義仕様書) に戻り値の長さおよびタイプを定義します。 次のキーワードも使用することができます。

DATFMT(形式)
戻り値は、キーワードによって指定された日付の形式を持ちます。
DIM(N)
戻り値は、要素数が N の配列です。
LIKE(名前)
戻り値は、キーワードによって指定された項目と同じに定義されます。
LIKEDS(名前)
戻り値は、キーワードによって指定されたデータ構造と同様に定義されているデータ構造です。
LIKEREC(名前{,タイプ})
戻り値は、キーワードによって指定されたレコード名と同様に定義されているデータ構造です。
PROCPTR
戻り値は、プロシージャー・ポインターです。
TIMFMT(形式)
戻り値は、キーワードによって指定された時刻の形式を持ちます。

値を呼び出し元に戻すためには、戻り値が入れられる式を指定した RETURN 命令を コーディングしなければなりません。 拡張演算項目 2 フィールドの式は、EVAL による式と同じ規則に従っていなければ なりません。 実際に戻された値は EVAL 式の左側と同じ働きをし、RETURN 命令の拡張演算項目 2 は右側と同じ働きをします。 サブプロシージャーに戻り値が定義されている場合には、RETURN 命令が実行され ることを確認しなければなりません。これを確認しておかないと、サブプロシー ジャーの呼び出し元には例外が出されることになります。