【发布时间】:2014-10-23 09:37:19
【问题描述】:
我想在 Futures 上试验 foldleft。我从一个简单/愚蠢的示例作为工作表开始:
import scala.concurrent._
import ExecutionContext.Implicits.global
val list = (1 to 10).toList
def doubleFuture(i: Int) = Future { println(i);i }
val twoFutures = list map doubleFuture //returns List[Future[Int]]
val res = (twoFutures foldLeft(List[Int]())
((theList:List[Int], aFuture:Future[Int]) =>
{
theList :+ 1
}))
编译器对此不满意并指出:
Error:(11, 48) type mismatch;
found : (List[Int], scala.concurrent.Future[Int]) => List[Int]
required: Int
((theList:List[Int], aFuture:Future[Int]) =>
^
我不明白为什么 foldleft 函数的第二个参数不是 Future[Int] 类型,因为 twoFutures 是 List[Future[Int]] 类型。 你能解释一下有什么问题吗?
谢谢!
【问题讨论】:
标签: scala