可以将自定义 class 命名为 "Map",并且仍然引用 Haxe "Map" class 吗?
Possible to make custom class named "Map", and still reference the Haxe "Map" class?
是否可以制作一个名为class的地图:
// src/test/Map.hx
package test;
class Map {
public function new ( a : Int, b : Int : c : Int ) {
trace( a + b + c );
}
}
然后以某种方式访问 Map
class 和 Foo.hx?
中的 original Haxe Map construct
// 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
)。但是,它没有包装。那么有没有办法同时访问两者?
有了 Haxe 4,您将能够使用 haxe.ds.Map
。
同时,您应该可以使用 std.Map
.
访问 haxe 的 Map
是否可以制作一个名为class的地图:
// src/test/Map.hx
package test;
class Map {
public function new ( a : Int, b : Int : c : Int ) {
trace( a + b + c );
}
}
然后以某种方式访问 Map
class 和 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
)。但是,它没有包装。那么有没有办法同时访问两者?
有了 Haxe 4,您将能够使用 haxe.ds.Map
。
同时,您应该可以使用 std.Map
.
Map