【发布时间】:2011-06-17 01:09:54
【问题描述】:
以下 C 代码使用枚举和数组作为从枚举到任何事物的高效“映射”:
enum Color { ColorRed, ColorGreen, ColorBlue, ColorSize};
void f() {
int x[ColorSize];
x[ColorRed] = 12;
x[ColorGreen] = 33;
x[ColorBlue] = 4;
return x[ColorGreen];
}
Scala 可以做到这一点吗?
IE。有一个从案例类到某物的“映射”,实现为高效数组而不是树或哈希图。然而,我希望能够仅使用特定类型而不是 Int 进行索引。
更新:简而言之,我希望 Scala 数组由某种枚举(案例类或枚举)索引。
【问题讨论】:
-
我想我对术语感到困惑。你想要一个数组,但它是由 enum 而不是 int 索引的?
-
数组总是由整数索引。如果它被对象索引,那么它就是某种哈希表。
-
@Synesso:你是对的。我更新了问题。
-
@Synesso 我的评论是针对@Łukasz Lew
标签: scala scala-2.8 case-class