====== Hello World! ====== Haxeのインストールが終わり、''haxe''と''haxlib''コマンドが使える状態になったら、さっそくコードを書いて動かしてみます。最初のプログラムは予想される通り、伝統的なHello Worldです。テキストエディタを起動して次のコードを打ち込みます。 class Hello { static function main() { trace("Hello, world!"); } } 任意の作業用ディレクトリに、この内容のテキストファイルを//Hello.hx//という名前で保存します。Haxeのソースコードファイルの拡張子は「**.hx**」です。 このHello Worldプログラムを実行する方法はたくさんあります。Haxeコンパイラは他の言語のソースコードやVMのバイトコードを出力するので、その分だけ実行方法があります。 まずは、もっとも簡単な方法を紹介します。ターミナルアプリケーションを起動して、ファイルを保存したディレクトリに移動します。 $ cd path/to/hello-world 続いて、次のコマンドを打ち込みます。 $ haxe --main Hello --interp Hello.hx:3: Hello, world! "Hello, world!"というテキストが出力されました。ファイル名と行番号も出力されるため、シンプルさと美しさが損なわれていると感じるかもしれませんが、大体は期待したとおりでしょう。''--main''は、実行するmain関数(メソッド)を含むクラスの名前を指定するオプションです。このMainとなるクラスの名前は、ファイル名の拡張子を除いた名前と一致させる必要があります。''--interp''は、ターゲットを生成するのではなく、コンパイラに直接その場で実行させることを指示するものです。 次に、別の言語をターゲットターゲットしてコードを生成させてみます。全部やるのは大変なので、JavaScriptとNekoVMだけをやってみます。 先ほどと同じディレクトリで、次のコマンドを打ち込みます。 $ haxe --main Hello --js hello.js すると、同じディレクトリに''hello.js''というファイルが生成されます。 $ ls Hello.hx hello.js この''hello.js''は、HTMLに読み込んでWebブラウザから実行することも出来ますし、Node.jsで実行することも出来ます。試しに、Node.jsで実行してみます。 $ node hello.js Hello.hx:3: Hello, world! 先ほどの''--interp''を使ったときと同じ出力になりました。 NecoVMの場合は次のようにします。 $ haxe --main Hello --neko hello.n $ ls Hello.hx hello.js hello.n ''hello.n''というファイルが生成されました。NecoVMのバイトコードのファイルは、拡張子が「**.n**」となります。 実行してみます。 $ neko hello.n Hello.hx:3: Hello, world! 同じ結果が得られました。 他の言語をターゲットとする場合も、同じような手順でできます。ただし、いくつかのターゲットは環境を追加でインストールする必要があります。どれも''haxlib''でインストール出来ます。それらについては別のページを用意する予定です。今すぐ知りたい場合は[[https://haxe.org/manual/target-details.html|マニュアル]]を参照してください。