Scalaで列挙型をキーとしてマップを見つけて操作する方法を試しています。この質問を見ると、マップをインスタンス化できますが、マップをその場で更新しようとすると、型の不一致エラーが発生します。ここで何が起こっているのですか?
object MyEnums extends Enumeration {
type MyEnum = Value
val BOB, TED, JEN = Value
}
var mymap = scala.collection.mutable.Map[MyEnums.Value, Long]()
mymap += (MyEnums.JEN -> 100L)
スロー:
<console>:38: error: type mismatch;
found : (MyEnums.Value, Long)
required: (MyEnums.Value, Long)
mymap += (MyEnums.JEN -> 100L)
同じことを行い、たとえば文字列をキーの種類として使用すると、これは期待どおりに機能します。
編集: これらの問題は、通常の scala repl ではなく、spark-shell で scala を使用する場合に発生します。