甲下面的C代碼使用枚舉和數組作爲高效「地圖」從枚舉到任何東西:在Scala中將案例類作爲關鍵字的高效地圖?
enum Color { ColorRed, ColorGreen, ColorBlue, ColorSize};
void f() {
int x[ColorSize];
x[ColorRed] = 12;
x[ColorGreen] = 33;
x[ColorBlue] = 4;
return x[ColorGreen];
}
這可能與Scala呢?
I.e.有一個從案例類到某些東西的「映射」,實現爲高效的數組而不是樹或散列表。然而,我希望能夠僅以一種特殊類型而不是Int來進行索引。
更新:總之,我想有一些枚舉(案例類或枚舉)索引的Scala數組。
我想我很困惑的術語。你想要一個數組,但是通過枚舉而不是int索引的數組? – Synesso 2011-01-28 06:30:50
數組總是以整數索引。如果它被對象索引,那麼它就是某種散列表。 – 2011-01-28 06:40:26
@Synesso:你說得對。我更新了這個問題。 – 2011-01-28 06:44:17