言語は
クラステスト{
静的関数 main() {
最終的な人々 = [
「エリザベス」 => 「プログラミング」、
「ジョエル」→「デザイン」
];
for (名前 => 人々の仕事) {
track('$name は $job を生業としています!');
}
}
}
バージョン 4.1 の新機能:
- 末尾再帰の最適化を追加しました。
- 例外処理用の新しい統合 API を追加しました。
- 構成要素「try {} catch(e) {}」は、「try {} catch(e: haxe.Exception) {}」の短縮形として使用できます。
- eval インタープリターに SSL サポートが追加されました。
- ターゲット JVM は実験的とみなされなくなりました。
- 言語サーバー プロトコルについては、「Goto Implementation」および「Find References」機能のサポートが追加されました。
- 生成されたコード内の一時ローカル変数の名前付けが改善されました。 冗長な「return;」を削除しました。 戻り値のないアロー関数内。
- アクセスの組み合わせ (get、default) はフィールドで許可されます (getter のみ、デフォルトの割り当て動作)。
- フィールドのインクリメント演算子とデクリメント演算子を許可する
抽象型 . - 匿名イテレータを使用した for ループのインライン化が改善されました。
- js: ES5 用の StringMap 実装を改善しました。
- js: コンパイラオプション「-D js-es=6」に let 変数の生成が追加され、ES6 クラスの生成が改善されました。
- lua: 「StringIterator」が最適化され、エラー処理が改善されました。
- php: 基本型の「Std.isOfType」を最適化しました。
- php: 生成された配列は、ネイティブ インターフェイス「Iterator」、「IteratorAggregate」、「Countable」を実装するようになりました。
- cs: メタデータ「@:assemblyMeta」と「@:assemblyStrict」を追加しました。
- Python: 匿名オブジェクトに「__contains__」の実装を追加しました
「__getitem__」は、生成されたコード内で辞書として使用できるようにします。 - jvm: 型指定された関数にアクセスし、オブジェクトが匿名構造として使用される場合 (動的プロパティ検索が防止される) に追加のインターフェイスを生成する新しい方法のおかげで、パフォーマンスが大幅に向上しました。
標準ライブラリの改善:
- 「Array.contains」機能を追加しました。
- 配列のキーと値の反復を実装する「Array.keyValueIterator」を追加しました (「for (key => value in array)」)。
- 制約タイプ「haxe.Constraints.NotVoid」を追加しました。
- 「Lambda」クラスに「findIndex」関数と「foldi」関数が追加されました。
- 「配列アクセス」(「arr[i]」によるアクセス) と「haxe.ds.HashMap」のキーと値の反復を実装しました。
- jvm: JVM 固有のバージョンの「StringMap」、「sys.thread.Lock」、「sys.thread.Thread」を実装しました。
- java/jvm: 「haxe.crypto」モジュールに「MD5」、「SHA-1」、および「SHA-256」のネイティブ実装を使用しました。
- マクロ: 「haxe.macro.Context.containsDisplayPosition(pos)」を追加しました。
- nullsafety: 「Strict」モードはシングルスレッドとして扱われるようになりました。 「StrictThreaded」モードを追加しました。
- 「Std.is」は非推奨となり、「Std.isOfType」が優先されます。
- クロージャで値のないローカル変数を使用する場合の警告を追加しました。
- js: 「untyped __js__(code, args)」は非推奨となり、「js.Syntax.code(code, args)」に置き換えられます。
- php/neko: 「neko.Web」と「php.Web」は非推奨となり、後で「hx4compat」ライブラリに移動されます。
次のリリースでは
- パッケージマネージャーの改善
ハクセリブ . - 非同期システム API ベース
リブブ . - コルーチン。
- クラスを作成せずにモジュール式の静的関数と変数を宣言します (ナイトリー ビルドですでに利用可能です)。
出所: オープンネット.ru