RETURN

目的

RETURN ステートメントは次のことを行います。

構文



>>-RETURN--+-----------------+---------------------------------><
           |            (1)  |
           '-arith_expr------'
 
 

注:


  1. 実数式または複素数式は IBM 拡張の一つです。


arith_expr
スカラー整数、実数、または複素数式です。 式の値が整数でない場合、使用前に、INTEGER(4) に変換されます。arith_expr はホレリス定数であってはなりません。

規則

arith_expr は、サブルーチンのサブプログラム内でのみ 指定できます。これは、代替戻り点を指定します。 marith_expr の値として、 「1 <= m <= SUBROUTINE または ENTRY ステートメント内のアスタリスク数」であれば、 仮引き数リスト内の m 番目のアスタリスクが選択されます。 CALL ステートメント内の m 番目の選択戻り指定子として指定されている ステートメント・ラベルを持つ呼び出しプロシージャー内のステートメントに、制御が戻されます。 たとえば、m の値が 5 の場合、CALL ステートメント内 の 5 番目の選択戻り指定子として指定されている ステートメント・ラベルを持つステートメントに制御が戻されます。

arith_expr を省略するか、 あるいはその値 (m) が、1 から SUBROUTINE また は ENTRY ステートメント内のアスタリスクの数までの範囲外にある場合、 通常の戻りが実行されます。 制御は、呼び出しプロシージャー内の CALL の次のステートメントに戻されます。

RETURN が実行されると、サブプログラムの仮引き数とその サブプログラムのインスタンスに提供される実引き数の間の関連付けが終了します。 サブプログラムにとってローカルであるエンティティー は、未定義を発生させるイベントに説明されているものを除いて、すべて未定義になります。

1 つのサブプログラムに複数の RETURN ステートメントを指定することも できますが、何も指定しなくてもかまいません。 関数サブプログラムまたはサブルーチン・サブプログラム内の END ステートメント は、RETURN ステートメントと同じ働きをします。

CALL SUB(A,B)
CONTAINS
  SUBROUTINE SUB(A,B)
    INTEGER :: A,B
    IF (A.LT.B)
      RETURN            ! Control returns to the calling procedure
    ELSE
      
  ·
  ·
  ·
END IF END SUBROUTINE END  

関連情報

IBM Copyright 2003