2014-05-15 54 views
0

我試圖創建一個特定類型映射到我的Vector2i類型以這種方式收集:地圖如何處理索引衝突?

Collection<Vector2i, Type> 

我翻譯一個項目,我在C#中以前必須HAXE。在C#中,我只需要在Vector2i中實現一個接口,以便能夠使用Vector2i對字典進行索引,但我不確定我需要做什麼才能實現與Haxe相同的功能。

+1

一個簡單的地圖<接口,SomType>應該工作......你有問題嗎? –

+0

沒有這樣的接口。 – MouseCaneta

+0

「接口」只是您想要使用的任何對象類型的佔位符。 –

回答

-1

從我讀過的語言引用中,Map只能將一些類型作爲鍵(String,Int,Float等),但不是任何類型,並且沒有像C#中使用任意類型的接口鍵。

我最終創建了自己的Vector2i鍵控Map類,通過擴展IMap接口並使用StringMap保存鍵和另一個StringMap來保存值,並且我還創建了自己的接口以從每個鍵獲取唯一的字符串以映射他們正確。但是在閱讀了一會兒之後,我發現https://github.com/polygonal/ds可以使用haxelib進行下載,它具有我想要的地圖類型(可能更加優化)以及將來需要的更多結構,比如Priority Queue。

+1

這是不正確的...自從haxe 3起,Map可以將任何實例作爲關鍵字。最顯着的例外可能是使用「功能」作爲不起作用的鍵。看看這個:http://try.haxe.org/#4D4fA –

+0

你是對的,但我不知道我是如何從API錯過haxe.ds.ObjectMap的。它工作得很好。 – MouseCaneta