条件コンパイル
しばしば、あるライブラリを作るときに、それがコンパイルされる各プラットフォームに依存する特定の API を使いたくなることがあります。また、あるフラグを ON にしたときのみ最適化が施されるようにしたい場合があるかもしれません。このような時に、条件コンパイルマクロ (または、プリプロセッサマクロ) を使うことができます。
これは、複数プラットフォームでの例です:
#if flash8 // haXe code specific for flash player 8 #elseif flash // haXe code specific for flash platform (any version) #elseif js // haXe code specific for javascript plaform #elseif neko // haXe code specific for neko plaform #else // do something else #error // will display an error "Not implemented on this platform" #end
また、これは "mydebug" フラグがコンパイル時に指定されたときのみログを取るようにする例です。
#if mydebug trace("何らかのデバッグ情報"); #end
haXe コンパイラのコマンドラインオプションによって、自分でマクロ変数を定義することができます。
version #5569, modified 2009-03-16 11:28:52 by mandel59