2020/01/10(金) [n年前の日記]
#1 [haxe] HaxeでHelloworld
昨日、OpenFL や HashLink で Hello world はしてみたけれど。そもそも Haxe で Hello world をしていないことに気づいたので、そのあたりを試したり。環境は Windows10 x64 1909 + Haxe 4.0.5。
_Hello World - Haxe - The Cross-platform Toolkit
とりあえず、任意のフォルダ内で srcフォルダを作成して、その中に Main.hx を作成。
_src/Main.hx
実行するだけなら、以下でいいらしい。
「Hello World」と出力された。
渡すオプションについては、以下のページで説明されてる。
_Compiler Usage - Haxe - The Cross-platform Toolkit
_Hello World - Haxe - The Cross-platform Toolkit
とりあえず、任意のフォルダ内で srcフォルダを作成して、その中に Main.hx を作成。
_src/Main.hx
class Main { static public function main():Void { trace("Hello World"); } }
実行するだけなら、以下でいいらしい。
> haxe -cp src -main Main --interp src/Main.hx:3: Hello World
「Hello World」と出力された。
- -cp src で、Main.hx があるフォルダを指定。
- -main -Main で、mainクラス名を指定。
- --interp は…よく分からない、が、これを指定すると実行できるのだろう。たぶん。
渡すオプションについては、以下のページで説明されてる。
_Compiler Usage - Haxe - The Cross-platform Toolkit
◎ HXMLを使う。 :
一応実行はできたものの、一般的には、build.hxml だの compile.hxml だの、.hxml に前述のオプション群を列挙して、Haxe に .hxml を渡してビルドするものらしい。
_HXML - Haxe - The Cross-platform Toolkit
試してみる。build.hxml を作成。
_build.hxml
ビルドは以下。
bin/helloworld.n というファイルが作成された。
Neko で実行。
「Hello World」が表示された。
_HXML - Haxe - The Cross-platform Toolkit
試してみる。build.hxml を作成。
_build.hxml
-cp src -dce full -neko bin/helloworld.n -main Main
- -neko bin/helloworld.n で、bin/ 以下に、Neko用バイナリファイル helloworld.n を生成せよ、と指定している。
ビルドは以下。
haxe build.hxml
bin/helloworld.n というファイルが作成された。
Neko で実行。
> neko bin\helloworld.n src/Main.hx:3: Hello World
「Hello World」が表示された。
◎ 複数のターゲット向けファイルを生成する。 :
以下のような build.hxml を書けば、bin/ 以下に、*.js、*.n、*.py、*.hl を生成できる。
build.hxml
build.hxml
-cp src -dce full --each -js bin/helloworld.js -main Main --next -neko bin/helloworld.n -main Main --next -python bin/helloworld.py -main Main --next -hl bin/helloworld.hl -main Main
> haxe build.hxml > dir /b bin helloworld.hl helloworld.js helloworld.n helloworld.py
- --each と --next を使えば、異なるターゲット向けの記述を1ファイル内に列挙できるっぽい。
- -js bin/hoge.js で、JavaScriptファイルを生成。
- -neko bin/hoge.n で、Neko用ファイルを生成。
- -python bin/hoge.py で、Pythonファイルを生成。
- -hl bin/hoge.hl で、HashLink用ファイルを生成。
[ ツッコむ ]
以上です。