【发布时间】:2016-06-28 23:14:37
【问题描述】:
我对 Scala 比较陌生,但我想我了解它的类型系统和并行集合,但我无法理解这个错误:
我有一个函数
def myFun(a : Seq[MyType], b : OtherType) : Seq[MyType] = {
val parA = a.par
def update(q : OtherType)(x : MyType) : MyType = x.updated(q)
parA.map(update(b))
我收到一条错误提示
Error:(63, 18) type mismatch;
found : scala.collection.parallel.ParSeq[MyType]
required: Seq[MyType]
parA.map(update(b))
^
如果ParSeq 是Seq 的子类型,那么为什么这不起作用?
(当我写这篇文章时,我意识到要修复它,我可以在结果上调用 .seq 方法,但为什么我必须这样做?IDE 告诉我的 .toSeq 和 @ 之间有什么区别? 987654326@ 这似乎有效)
【问题讨论】: