言語は
Haxe 構文は ECMAScript に近く、
クラステスト{
静的関数 main() {
var 人 = [
「エリザベス」 => 「プログラミング」、
「ジョエル」→「デザイン」
];
for (people.keys() の名前) {
var job = 人[名前];
track('$name は $job を生業としています!');
}
}
}
メイン
- 「String->Int->Bool」の代わりに関数型「(name:String, age:Int)->Bool」または「(String, Int)->Bool」を指定するための新しい構文。
- アロー関数の構文は、「function(a, b) return a + b」ではなく「(a, b) -> a + b」です。
- Null 値の使用に関連する問題に対する保護 (実験的な機能、特定のフィールド、クラス、またはパッケージに対してオプションで有効になります)。
- 「final」キーワードは、不変のクラス フィールドおよびローカル変数用です。 「final」は、継承によるオーバーライドを防ぐ関数や、継承できないクラス/インターフェイスの関数を定義するためにも使用できます。
-
サポート Neo を除くすべてのコンパイル ターゲットの基本型 "String" の Unicode 標準。 - スクラッチから書き直された組み込みインタプリタは、現在は次の名前で呼ばれています。
評価 。 新しいインタープリターのおかげで、スクリプトとマクロの実行が大幅に高速化されました。 対話型デバッグ モードがサポートされています。 - コンパイル用の新しいターゲット システム (ターゲット)
ハッシュリンク - Haxe 専用に設計された高性能ランタイムは、JIT または C のバイトコードへのコンパイルをサポートし、C との統合が容易で、低レベルの数値型とポインターにアクセスできます。 - 新しい JVM ターゲット - Java でターゲットを設定するときに「-D jvm」フラグを追加することで、Java コードのコンパイル手順をスキップして、jvm バイトコードを生成できます。
- 関数またはコンストラクターが宣言されていない場合でも、関数またはコンストラクターを呼び出す時点でインライン デプロイできる機能。
- 含まれる可能性
静的拡張子 「@:using(path.ToExtension)」を使用して型 (「enum」など) を宣言する場合。 - 抽象型は、「obj.foo = bar」式をリロードするための「@:op(ab)」演算子の「set」バージョンをサポートするようになりました。
- 「for」ループ構文は、キーと値の反復「for (key => value in collection) {}」をサポートするようになりました。
- 式での XML のようなマークアップの使用のサポート: 「var a = ‹hi/›;」。 現時点では、この機能はマクロでの解析にのみ利用可能であり、設計段階にあります。
- 匿名構造型の「完全な」表記におけるオプションのフィールドの構文は次のとおりです。 }" (短い "{ ?f:Int }" の代替)。
- 列挙値を関数の引数のデフォルト値「function foo‹T›(option:Option‹T› = None)」にできるようになりました。
- 「enum abstract Name(BasicType) {}」構文では、「enum」の接頭辞「@:」が不要になりました。
- 抽象列挙の自動番号付け:
enum 抽象 Foo(Int) {
変数A; // 0
変数 B; // 1
}
enum abstract Bar(String) {
変数A; //「あ」
変数 B; // "B"
} - 「extern」キーワードでは「@:」プレフィックスを使用する必要がなくなりました。
- オプション「」を削除しました。実装する Dynamic」を使用して、文字列を介してクラスフィールドにアクセスします。 extern クラスまたは抽象型による実装を通じて使用できます。
- 型交差の「A & B」構文を追加しました。これは現在、匿名構造体と型パラメーター制約にのみ適用されます。 古い制約構文は削除されました。
- 空の「Map」インスタンスを作成するには、構文「var map:Map‹Int, String› = [];」を使用します。 配列に似ています。
- データ構造「haxe.ds.ReadOnlyArray」を追加しました。
- メタデータに名前空間を含めることができるようになりました (「@:prefix.name function() {…}」)。 定義も同様に「#if (some.flag ... #end」)。
- で使用される IDE の新しいサービス プロトコル
VSCode用プラグイン . - Web API の外部定義 (extern) を更新し、不足している定義を追加しました。
出所: オープンネット.ru