Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@k-motoyan

hxmlファイルに書くコンパイルオプションで重複する記述を省略する

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が登場するまでの区切り)に頭で定義したオプションが引き継がれるようになります。

リソースの埋め込みなどをコンパイルオプションに書き出すと、出力ターゲット毎に同じ記述が増え、変更などを行う際につまらないミスの原因にもなるので、覚えておくと便利なオプションですね。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?