Scala更新映射错误

Scala更新映射错误,scala,dictionary,concatenation,Scala,Dictionary,Concatenation,我正在尝试编写方法addWordToMap,如果关键字出现次数等于occ,则应该在map值的列表中添加一个单词w。我不明白为什么编译器会说map.updated(occ,map.apply(occ)++w)returnmap[occurrences,List[Any]]。我的想法是连接有一些问题,但对我来说似乎很正确。谢谢大家! type Word = String type Occurrences = List[(Char, Int)] def addWordToMap(map: Map[Oc

我正在尝试编写方法
addWordToMap
,如果关键字出现次数等于
occ
,则应该在map值的列表中添加一个单词
w
。我不明白为什么编译器会说
map.updated(occ,map.apply(occ)++w)
return
map[occurrences,List[Any]]
。我的想法是连接有一些问题,但对我来说似乎很正确。谢谢大家!

type Word = String
type Occurrences = List[(Char, Int)]
def addWordToMap(map: Map[Occurrences, List[Word]], 
  w: Word, occ: Occurrences): Map[Occurrences, List[Word]] = {
  map.updated(occ, map.apply(occ)++w)
}

您正在查找的是
:+
,而不是
+


它使用
++
进行编译,原因有很多:看起来您正试图连接两个集合,因此编译器会隐式地将字符串转换为字符集合,最终得到的集合的元素类型是
Char
string
的最小上界,这是
Any

如果有效,请尝试,地图已更新(occ,地图(occ):+w)