ISO2002ENTMF 

付録 A - 条件付きコンパイルの例

次の抜粋は、実際の条件付きコンパイルのいくつかの例を示します。

例 1:

この例は、64 ビット変数 (DEFINE 64BIT (TRUE)) を設定する DEFINE コンパイラ オプションに依存しています。設定されている場合、次のように INIT64 プログラムが呼び出されます。

...>>DEFINE 64BIT AS PARAMETER ...>>IF 64BIT IS DEFINED CALL "INIT64" >>ELSE CALL "INIT32" >>END-IF ...

例 2:

この例では、変数はインラインで定義されているため、DEFINE コンパイラ オプションを使用して定義する必要はありません。次の抜粋は、定義済み変数の値を変更するために OVERRIDE キーワードを使用できることを示します。

...>> DEFINE VAR AS 10 ...>>DEFINE VAR AS VAR - 2 OVERRIDE >>IF VAR = 10 DISPLAY "FAIL" >>ELSE DISPLAY "PASS" >>END-IF ...

例 3:

繰り返しになりますが、変数はインラインで定義され、EVALUATE 指令を示します。これは "PASS" を生成します。EVALUATE FALSE 構文を使用した場合、次のように結果が逆になります (つまり、"FAIL" と表示されます)。

...>>DEFINE VAR2 as 10 * 2 ...>>EVALUATE TRUE >>WHEN VAR2 > 12 DISPLAY "PASS" >>WHEN VAR2 < 12 DISPLAY "FAIL" >>END-EVALUATE ...

例 4:

この例では、EVALUATE 指令内で 2 つの変数を使用し、次に示す句を実行します。

...>> DEFINE VAR1 AS 3 >> DEFINE VAR2 AS 1 ...>>EVALUATE VAR1 >>WHEN VAR2+1 COMPUTE X = X + (X * 0.20) >>WHEN VAR2+2 COMPUTE X = X + (X * 0.40) *> this clause is executed >>WHEN VAR2+3 COMPUTE X = X + (X * 0.45) >>WHEN OTHER COMPUTE X = X >>END-EVALUATE DISPLAY X. ...