Pri*_*dam 4 functional-programming scala future
def computeComplexNumber: () ? Future[Int] =
() ?
Future {
println("Computing complex number ...")
Int.MaxValue
}
def convert(f: () ? Future[Int]): Future[() ? Int] = ???
convert(computeComplexNumber)
Run Code Online (Sandbox Code Playgroud)
是否可以实现convert具有上述签名的方法,条件是当convert(computeComplexNumber)调用时,除非您这样做,否则不会打印任何内容
Await.result(convert(computeComplexNumber), 5.seconds)()
Run Code Online (Sandbox Code Playgroud)
And*_*kin 10
没有阻挡内部,我没有看到任何方法convert.没有调用就没有办法获取Future[X]内部实例.但是一旦你调用,它就会急切地开始用它来评估块,并产生一个输出.convertffFuture { ... }println
你可能想看一下scalaz.concurrent.Task.
| 归档时间: |
|
| 查看次数: |
384 次 |
| 最近记录: |