Haxeではコンパイルオプションをhxml
というファイルに記述しておくことができます。
Haxeはクロスプラットフォームに向けてコンパイルを行うことが出来るため、
このhxml
ファイルに複数のターゲットを記述するケースがあります。
複数のターゲットを記述する例
# jsにコンパイル
-main Main
-lib nanika
-js main.js
--next
# pythonにコンパイル
-main Main
-lib nanika
-python main.py
この時、-main
と-lib
をターゲット毎に書くのは冗長です。
これを解決するために--each
というオプションを利用出来ます。
--each
オプションを利用すると以下のように簡潔に記述することが出来るようになります。
--eachを使って簡潔にしたもの
# 共通のオプションを定義
-main Main
-lib nanika
--each
# jsにコンパイル
-js main.js
--next
# pythonにコンパイル
-python main.py
--each
を記述した後に、書かれるブロック(--next
が登場するまでの区切り)に頭で定義したオプションが引き継がれるようになります。
リソースの埋め込みなどをコンパイルオプションに書き出すと、出力ターゲット毎に同じ記述が増え、変更などを行う際につまらないミスの原因にもなるので、覚えておくと便利なオプションですね。