RESULT

キーワード:関数結果の名前を指定します。

通常,関数結果は関数名に入れて返され,関数名へのすべての引用は関数結果の引用となります。

しかし,FUNCTION 文で RESULT キーワードを使用すると,関数結果に対して局所変数名を宣言することができます。この場合,関数名に対するすべての引用は再帰呼び出しとなり,関数名を宣言文中で使用することはできなくなります。

RESULT 名は関数名とは異なる名前でなくてはなりません。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

ENTRYFUNCTIONRECURSIVEプログラム単位と手続

次に,RESULT 変数を宣言する再帰関数の例を示します。

	RECURSIVE FUNCTION FACTORIAL(P) RESULT(L)
	  INTEGER, INTENT(IN) :: P
	  INTEGER L
	  IF (P == 1) THEN
	    L = 1
	  ELSE
	    L = P * FACTORIAL(P - 1)
	  END IF
	END FUNCTION

以下に他の例を示します。

	recursive function FindSame(Aindex,Last,Used) &
		result(FindSameResult)
	type(card) Last
	integer Aindex, i
	logical matched, used(5)
	if( Aindex > 5 ) then
	  FindSameResult = .true.
	  return
	endif
	. . .