在Haxe for Flash中__new__的含义是什么?

时间:2012-12-29 14:11:23

标签: flash haxe

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

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

我发现它会创建一个Array并且length为10。 但是,当我尝试类似的东西时:

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

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

1 个答案:

答案 0 :(得分:4)

这是Haxe的“魔力”,见the wiki

__new__是调用本机构造函数,在Array的情况下,它与Haxe公开的内容不同(Array in Haxe doc vs Array in AS3 doc)。

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

var array = [];
for(i in 0...len) array.push(0);