PRESENT

問合せ組込み関数 (総称):省略可能仮引数が存在する (実引数が結合されている) かどうかを返します。

形式

result = PRESENT (a)

a
(入力) 現在の手続の省略可能引数。

結果

結果の型は基本論理型のスカラです。結果は,a が存在する場合には .TRUE.,存在しない場合には .FALSE. です。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

OPTIONAL

次に例を示します。

	SUBROUTINE CHECK (X, Y)
	  REAL X, Z
	  REAL, OPTIONAL :: Y
	  ...
	  IF (PRESENT (Y)) THEN
	    Z = Y
	  ELSE
	     Z = X * 2
	  END IF
	END
	...
	CALL CHECK (15.0, 12.0)		! Z に 12.0 が設定されます。
	CALL CHECK (15.0)		! Z に 30.0 が設定されます。

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

	CALL who( 1, 2 )	! "A present" "B present" を出力します。
	CALL who( 1 )		! "A present" を出力します。
	CALL who( b = 2 )	! "B present" を出力します。
	CALL who( )		! 何も出力しません。
	CONTAINS
	  SUBROUTINE who( a, b )
	    INTEGER(4), OPTIONAL :: a, b
	    IF (PRESENT(a)) PRINT *,'A present'
	    IF (PRESENT(b)) PRINT *,'B present'
	  END SUBROUTINE who
	END