Skip to main content

#ifDef

マクロが定義済みであることを実行の条件とする条件コード・ブロックの開始を指定します。

説明

このマクロ・プリプロセッサ指示文は、マクロが定義済みであることを実行の条件とする条件コード・ブロックの開始を指定します。以下の形式をとります。

#ifDef macro-name

ここで、macro-name は、先頭に $$$ 文字が付かずに表示されます。同一行にて macro-name に続くものはコメントと見なされるので、解析はされません。

コードの実行は、マクロが定義済みであることを条件とします。この実行は、#else 指示文に到達するか、#endif 指示文を終了するまで続きます。

#ifDef がチェックするのは、値が何かではなく、マクロが定義済みであるかどうかだけです。したがって、値が 0 (ゼロ) であるマクロであっても、マクロは存在するので #ifDef は条件コードを実行します。

また、#ifDef はマクロが存在するかどうかのみをチェックするので、他の可能性は 1 つのみ (マクロが定義されていない場合) です。これは #else 指示文で処理します。#elseIf 指示文は、#ifDef では使用できません。

例えば、以下のコードは、マクロの存在に基づいて、簡単な 2 つのメッセージのいずれかを表示します。

#define Heads
 
#ifDef Heads
  WRITE "The coin landed heads up.",!
#else
  WRITE "The coin landed tails up.",!
#endif
FeedbackOpens in a new tab