语言是
类测试{
静态函数 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