語言是
類別測試{
靜態函數 main() {
最終人=[
“伊麗莎白”=>“編程”,
“喬爾”=>“設計”
];
for (name => people 中的工作) {
Trace(‘$name 靠$工作謀生!’);
}
}
}
4.1版本新功能:
- 添加尾遞歸優化。
- 新增了新的統一 API 用於異常處理。
- 結構「try {} catch(e) {}」可以當作「try {} catch(e: haxe.Exception) {}」的簡寫。
- 在 eval 解釋器中新增了 SSL 支援。
- 目標 JVM 不再被視為實驗性的。
- 對於語言伺服器協議,新增了對「轉到實作」和「尋找引用」功能的支援。
- 改進了生成程式碼中臨時局部變數的命名。刪除了多餘的「返回」;在沒有回傳值的箭頭函數中。
- 欄位上允許存取組合(get、預設)(僅限 getter、預設賦值行為)。
- 允許欄位使用遞增和遞減運算符
抽象類型 . - 使用匿名迭代器改進了 for 迴圈的內聯。
- Node.js:改進了 ES5 的 StringMap 實作。
- js:let 變數的產生已新增至編譯器選項「-D js-es=6」中,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”。
- “findIndex”和“foldi”函數已新增至“Lambda”類別。
- 實作了「haxe.ds.HashMap」的「陣列存取」(透過「arr[i]」存取)和鍵值迭代。
- jvm:實作了「StringMap」、「sys.thread.Lock」、「sys.thread.Thread」的 JVM 特定版本。
- java/jvm:「haxe.crypto」模組使用「MD5」、「SHA-1」和「SHA-256」的本機實作。
- 巨集:新增了「haxe.macro.Context.containsDisplayPosition(pos)」。
- nullsafety:「嚴格」模式現在被視為單線程;新增了“StrictThreaded”模式。
- 「Std.is」已被棄用,取而代之的是「Std.isOfType」。
- 新增了在閉包中使用沒有值的局部變數時的警告。
- js:「untyped __js__(code, args)」已棄用,替換為「js.Syntax.code(code, args)」。
- php/neko:「neko.Web」和「php.Web」已被棄用,稍後將移至「hx4compat」庫。
在下一個版本中
來源: opennet.ru