【问题标题】:What's the meaning of __new__ in Haxe for Flash?Haxe for Flash 中的 __new__ 是什么意思?
【发布时间】:2012-12-29 14:11:22
【问题描述】:

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

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

我发现它创建了一个 Array 和一个 length 为 10。 但是,当我尝试类似:

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

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

【问题讨论】:

    标签: flash haxe


    【解决方案1】:

    这是 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 2014-02-18
      相关资源
      最近更新 更多