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が登場するまでの区切り)に頭で定義したオプションが引き継がれるようになります。
リソースの埋め込みなどをコンパイルオプションに書き出すと、出力ターゲット毎に同じ記述が増え、変更などを行う際につまらないミスの原因にもなるので、覚えておくと便利なオプションですね。