Lor*_*nix 6 types scala map data-partitioning
我正在尝试基于谓词列表对地图进行多分区.
我写了以下函数来做到这一点:
def multipartition[A,B](map : Map[A,B], list : List[(A,B) => Boolean]) : List[Map[A,B]] =
list match {
case Nil =>
Nil
case l :: ls =>
val (a, b) = map partition l; // type mismatch; found (A,B) => Boolean, required: (A,B) => Boolean
return a :: multipartition(b, ls)
}
Run Code Online (Sandbox Code Playgroud)
Scala编译器(我运行2.9.1)失败在与所指示的地方 "类型不匹配;实测值(A,B)=>布尔,需要:(A,B)=>布尔".
有没有人见过这样的东西?知道怎么解决吗?
谢谢,
唱片
Did*_*ont 11
分区期望Function[(A,B), Boolean]
,这是一对参数的函数,而不是两个参数的函数(相当恼人,它们是不同的)
所以你需要写作((A,B)) => Boolean
列表元素的类型
(错误消息完全没有帮助,接近一个小错误)