IF / ELSE / ENDIF構造

IFELSEENDIF構造では、特定の条件下でさまざまなコントロールカードを使用できます。

IF / ELSE / ENDIF構造のシンタックス要件は次のとおりです:

  • !!文字は、行の先頭2列に配置する必要があります。その後に任意の数のスペース、キーワードIF、評価される式、キーワードTHENが続きます。
    Note: キーワードでは大文字小文字は区別されません。たとえば、Thenthenも有効です。
  • ブロックは!!ENDIFというフォームの行で終了します(この場合も、!!ENDIFの間にはスペースを挿入できますが、!!の前には挿入できません)。
  • オプションで、!!ELSEというフォームの行が入ります(!!は先頭2列に配置する必要があり、キーワードの前にスペースを挿入できます。キーワードに大文字小文字の区別はありません)。
  • !!IF!!ENDIF(存在する場合は!!ELSE)の間のすべての命令と入力カードは、式がTRUEの場合に処理されます。!!ELSE!!ENDIFの間のすべての行(存在する場合)は、式がFALSEの場合に処理されます。
    次に例を示します:
    !!if #a > 5 then
    ...
    !!endif
    別の例を示します:
    #l = (#a+5 > 21) and (#a < 100)
    !!if ( (3*#a+5 >= #x/2) and not(#l) ) then
    ...
    !!else
    !! if (sin(#x/10) > 0.5) then
    ...
    !! else
    ...
    !! endif
    !!endif