1

我看到了一些代码(为 Flash 编写),如下所示:

var _array:Array<Int> = untyped __new__(Array, 10);

我发现它创建了Array一个length10 的和。但是,当我尝试类似的东西时:

var _array:Array<Int> = untyped __new__(Array, 1, 2);

它创建一个Array有两个元素的。我对此感到困惑,真正的含义是__new__什么?

4

1 回答 1

4

它是 Haxe 的“魔法”,请参阅wiki

__new__调用本地构造函数,在 的情况下Array,它与 Haxe 公开的不同(Array在 Haxe doc中vsArray在 AS3 doc 中)。

基本上使用使用长度和/或值来__new__初始化,而无需手动执行:Array

var array = [];
for(i in 0...len) array.push(0);
于 2012-12-29T17:54:18.707 回答