次の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で可能ですか?
つまり、ケースクラスから何かへの「マップ」を作成し、ツリーやハッシュマップとしてではなく、効率的な配列として実装します。ただし、Intではなく特定のタイプでのみインデックスを作成できるようにしたいと思います。
更新:要するに、Scala配列をある種の列挙型(ケースクラスまたは列挙型)でインデックス付けしたいと思います。