Scala更新地图错误
Scala updating Map error
我正在尝试编写方法 addWordToMap
,如果键出现次数等于 occ
,则应将单词 w
添加到地图值的列表中。而且我不明白为什么编译器会说 map.updated(occ, map.apply(occ)++w)
return Map[Occurences, 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
.
我正在尝试编写方法 addWordToMap
,如果键出现次数等于 occ
,则应将单词 w
添加到地图值的列表中。而且我不明白为什么编译器会说 map.updated(occ, map.apply(occ)++w)
return Map[Occurences, 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
.