我看到了一些代码(为 Flash 编写),如下所示:
var _array:Array<Int> = untyped __new__(Array, 10);
我发现它创建了Array
一个length
10 的和。但是,当我尝试类似的东西时:
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);