Можно ли создать пользовательский класс с именем «Карта» и все еще ссылаться на класс «Карта» Haxe? - PullRequest
0 голосов
/ 11 октября 2018

Можно ли создать класс с именем Map:

// src/test/Map.hx
package test;
class Map {
    public function new ( a : Int, b : Int : c : Int ) {
        trace( a + b + c );
    }
}

И затем каким-то образом получить доступ к этому новому Map классу И оригинальной конструкции Haxe Map в Foo.hx?

// src/test/Foo.hx
package test;
class Foo {
    var map1 : test.Map         = new test.Map( 1, 2, 3 );
    var map2 : Map<Int, String> = [ 0 => "Hello" ];
}

Это не работает, потому что тип map2 автоматически разрешается в test.Map (не Haxe), потому что Foo.hx является частью пакета test, который содержит новыйMap class.

Если бы конструкция Haxe Map была частью пакета, это было бы легко (можно просто сказать package_name.Map).Тем не менее, он не имеет пакета.Так нет ли способа получить доступ к обоим?

1 Ответ

0 голосов
/ 11 октября 2018

С Haxe 4 вы сможете использовать haxe.ds.Map.

Между тем, вы должны иметь доступ к haxe's Map с std.Map.

...