1

次のようなコード (Flash 用に作成) を見ました。

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

Arrayそして、10の a で and を作成することがわかりましたlength。ただし、次のようなものを試してみると:

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

Array2 つの要素を持つを作成します。私はこれに混乱しています、の本当の意味は__new__何ですか?

4

1 に答える 1

4

これはHaxeの「魔法」です。wikiを参照してください。

__new__ネイティブコンストラクターを呼び出すことです。の場合、HaxeArrayが公開するものとは異なります(ArrayHaxeドキュメントとAS3Arrayドキュメント)。

基本的にを使用すると、手動で行うことなく、長さや値で__new__初期化されます。Array

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