我看到了一些代码(为 Flash 编写),如下所示:
var _array:Array<Int> = untyped __new__(Array, 10);
我发现它创建了Array一个length10 的和。但是,当我尝试类似的东西时:
var _array:Array<Int> = untyped __new__(Array, 1, 2);
它创建一个Array有两个元素的。我对此感到困惑,真正的含义是__new__什么?
它是 Haxe 的“魔法”,请参阅wiki。
是__new__调用本地构造函数,在 的情况下Array,它与 Haxe 公开的不同(Array在 Haxe doc中vsArray在 AS3 doc 中)。
基本上使用使用长度和/或值来__new__初始化,而无需手动执行:Array
var array = [];
for(i in 0...len) array.push(0);