2012-12-29 57 views
1

当我读其他的源代码(写入闪存),我觉得是这样的:Haxe for Flash中关键字__new__的含义是什么?

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

而且我发现它创建一个数组和数组的长度是10 但是我尝试类似:

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

它创建一个具有两个元素的数组。 我很困惑。关键字Array的真正含义是什么?

回答

4

这是一个Haxe“魔术”,见the wiki

__new__是调用本地构造函数,在Array的情况下,它与Haxe公开的不同(Array in Haxe doc vs Array in AS3 doc)。基本上使用__new__ 是尽量初始化的长度和/或值的数组,而无需手动做:

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

非常感谢你。 – Yyao

+0

不客气。如果您认为这是正确的答案,您可以将其标记为;) –

相关问题