PRESENT(A)

目的

オプションの引き数が存在するかどうかを判別します。 存在しない場合は、それをオプションの引き数として別のプロシージャー に渡すか、または、それを引き数として PRESENT に渡すことしかできません。

クラス

照会関数

引き数の型と属性

A
PRESENT 関数参照があるプロシージャー内でアクセス可能な オプションの仮引き数の名前です。

結果の値と属性

デフォルトの論理スカラー

結果の値

実引き数が存在する場合 (つまり、 指定された仮引き数内の現行プロシージャーに渡された場合) は、結果は .TRUE. になり、 それ以外の場合は .FALSE. になります。

      SUBROUTINE SUB (X, Y)
        REAL, OPTIONAL :: Y
        IF (PRESENT (Y)) THEN
! In this section, we can use y like any other variable.
           X = X + Y
           PRINT *, SQRT(Y)
        ELSE
! In this section, we cannot define or reference y.
           X = X + 5
! We can pass it to another procedure, but only if
! sub2 declares the corresponding argument as optional.
           CALL SUB2 (Z, Y)
        ENDIF
      END SUBROUTINE SUB

関連情報

OPTIONAL IBM Copyright 2003