如何解决类型不匹配和底层类型
我的代码抛出了一个我不太理解的错误。 代码应该检查列表中满足谓词的对并将其作为集合返回。
[error] found : bH.type (with基础类型 B) [error] required: B
我能解释一下为什么会发生这种情况以及如何解决吗?
object Zad1 {
type Pred[T] = T => Boolean
def main(args: Array[String]): Unit = {
}
def znajdz[A,B](alist: List[A],blist: List[B])(pred: Pred[(A,B)]): Set[(A,B)] = {
@annotation.tailrec
def assist[A,blist: List[B],tail: Set[(A,B)] = {
(alist,blist) match {
case (aH::aT,bH::bT) => (pred((aH,bH))) match {
case true => assist(aT,bT,Set((aH,bH))++tail)
case false => assist(aT,tail)
}
case _ => tail
}
}
assist(alist,blist,Set.empty)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。