在我的代码中,我有以下内容:
type Occurrences = List[(Char, Int)]
def subtract(x: Occurrences, y: Occurrences): Occurrences = {
val yMap = y.toMap
x foldLeft (List[(Char, Int)]()) { // ERROR
case (a: List[(Char, Int)], xe: (Char, Int)) =>
if(yMap.contains(xe._1)) (xe._1 -> (xe._2 - yMap(xe._1))) :: a
else a
}
}
它在编译时失败,就{
在代码中的错误标记之前。错误消息如下:
扩展函数缺少参数类型匿名函数的参数类型必须是完全已知的。(SLS 8.5) 预期类型为:Int
1)怎么可能?据我所知,这里没有对类型信息进行误解的余地,我在互联网上找到了很多这样的例子。我该如何解决?
2)为什么认为预期的类型Int
毕竟是?