.net column

.NET開発者のためのブログメディア
データベースエンジニア

静的型付けのオブジェクト指向言語Haxeを紹介

2020年08月27日

SE
Haxeというプログラム言語があると聞きました。どのような特徴のある言語なのか教えてください。

PM
わかりました。まず入門編として簡単に見ていきましょう。

Haxe入門

今回は、Haxe(ヘックス)入門編です。

Haxeとは、JavaScriptやPythonなど、様々なコードを生成することができるプログラミング言語です。また、Haxeは静的型付けのオブジェクト指向言語です。マルチプラットフォーム開発に使用されることが多いです。

入門編として、Haxeの導入方法から、その使い方について紹介します。Haxe入門編に興味のある方はぜひご覧ください。

Haxeのインストール

入門編として、Haxeをインストールしてみましょう。以下サイトより、ご自身の環境に合ったものもダウンロード・インストールしてください。
https://haxe.org/download/

様々なコードを生成

Haxeは、JavaScriptやPythonなど、様々なコードを生成することができます。ここでは、入門編としてJavaScriptを生成してみましょう。

まずはTest.hxを作成し、以下のように記述します。

Haxeでコンパイルしてみましょう。
メインのエントリポイントを指定し、-jsオプションでJavaScriptに変換します。
コンパイルすると、hello.jsが生成されます。

hello.jsの中身は以下のようになっています。
trace()はconsole.log()に変換されています。

それではhello.jsを実行してみましょう。
ここでは、Node.jsをインストールしている前提で進めます。

実行すると、Hello Worldが標準出力されることが分かります。
このように、JavaScriptのコードを生成して実行できました。

Haxeではこの他にも様々なコードを生成できます。
haxe -hコマンドを実行すると、生成可能なコードを確認できます。

JavaScript以外にも多くの言語に対応しています。
1つのhxファイルから様々なコードを作成できます。

以降の章では、JavaScriptをターゲットに説明します。

静的型付け

入門編として、静的型付けについて説明します。

静的型付けとは、変数のデータ型を事前に決めることができることです。こうすることで、コンパイルする時点でエラーが分かります。つまり、エラーを未然に防ぐことができます。

Haxeでは、変数名やメソッド名の後に型を指定します。
実際のソースコードを見てみましょう。

コンパイルして実行すると、以下のようになります。

正しい結果が標準出力されることが分かります。

代表的な型としては、以下があります。
・Int:整数
・Float:小数点
・String:文字列
・Bool:true / false

次に、コンパイルエラーを起こしてみましょう。

コンパイルすると、以下のようにエラーとなります。
Test.hxの3行目にエラーがあることが分かります。

型推論

入門編として、型推論を説明します。Haxeは静的型付け言語ですが、型推論があります。
型推論とは、型を省略すると、コンパイラが空を推測してくれることです。

実際のソースコードを見てみましょう。

変数i,jは型(ここではInt)を指定しています。
変数kは型を指定していませんが、コンパイルは成功します。

実行すると、以下のようになります。

型推論でIntと解釈されています。

また、型にDynamicを指定すると、何を指定してもOK(なんでもあり)になります。
実際のソースコードを見てみましょう。

コンパイルは成功し、実行すると以下のようになります。

Dynamicを使うとコンパイラが型のチェックができなくなるので注意が必要です。
静的型付けがHaxeの利点なので、慣れないうちは型推論やDynamic型は使わないほうが良いです。

クラス

入門編として、Haxeでクラスを生成してみます。

実際のソースコードを見てみましょう。

Humanクラスを生成して、クラス変数を表示します。
コンパイルして実行すると、以下のようになります。

SE
マルチプラットフォームなプログラム言語ということですね。

PM
開発者が最適なプラットフォームを選択できるように開発されたプログラム言語です。

まとめ

Haxe入門編、いかがでしたでしょうか。

Haxeとは、JavaScriptやPythonなど、様々なコードを生成することができるプログラミング言語です。また、Haxeは静的型付けのオブジェクト指向言語です。Haxeの導入方法から、その使い方について紹介しました。

今回紹介したものはあくまでも入門レベルなので、もっと色々なことができます。ぜひご自身でソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)