IF 構文

IF 構文では、実行対象として、1 つのステートメント・ブロックを選択します。



>>-Block_IF_statement------------------------------------------><
 
 
>>-statement_block---------------------------------------------><
 
 
>>-+-------------------+---------------------------------------><
   | .---------------. |
   | V               | |
   '---ELSE_IF_block-+-'
 
 
>>-+------------+----------------------------------------------><
   '-ELSE_block-'
 
 
>>-END_IF_statement--------------------------------------------><
 
 

Block_IF_statement
構文の詳細については、IF (ブロック)を参照してください。

END_IF_statement
構文の詳細については、END (構文)を参照してください。

ELSE_IF_block



>>-ELSE_IF_statement-------------------------------------------><
 
 
>>-statement_block---------------------------------------------><
 
 

ELSE_IF_statement
構文の詳細については、ELSE IFを参照してください。

ELSE_block



>>-ELSE_statement----------------------------------------------><
 
 
>>-statement_block---------------------------------------------><
 
 

ELSE_statement
構文の詳細については、ELSEを参照してください。

IF 構文 (つまり、 ブロック IF および ELSE IF ステートメント) 内の スカラー論理式は、真の値、ELSE ステートメント、 または END IF ステートメントが検出されるまで、 指定した順に評価されます。

IF 構文名を指定する場合、IF ステートメントおよび END IF ステートメントには 必ず指定が必要ですが、ELSE IF ステートメントまたは ELSE ステートメントへの指定は オプションとなります。

! Get a record (containing a command) from the terminal
 
    DO
      WHICHC: IF (CMD .EQ. 'RETRY') THEN       ! named IF construct
           IF (LIMIT .GT. FIVE) THEN           ! nested IF construct
!              Print retry limit exceeded
               CALL STOP
           ELSE
               CALL RETRY
           END IF
      ELSE IF (CMD .EQ. 'STOP') THEN WHICHC    ! ELSE IF blocks
           CALL STOP
      ELSE IF (CMD .EQ. 'ABORT') THEN
           CALL ABORT
      ELSE WHICHC                              ! ELSE block
!          Print unrecognized command
      END IF WHICHC
    END DO
    END
IBM Copyright 2003