2

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 を使用する場合に発生します。

4

0 に答える 0