目的
オプションの引き数が存在するかどうかを判別します。 存在しない場合は、それをオプションの引き数として別のプロシージャー に渡すか、または、それを引き数として 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
関連情報