XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

RETURN

目的

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

構文



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

注:


  1. IBM 拡張


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

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

+--------------------------------IBM 拡張の終り-------------------------------+

規則

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  

関連情報


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