スカラ 2.10.2。ランニング
import util.continuations._
import concurrent.ops._
object Main {
def main(args: Array[String]) {
reset {
try {
shift { cont: (Unit => Unit) => {
spawn {
throw new Exception("blah")
cont()
}
}}
println("after shift")
} catch {
case e: Exception => println(e)
}
println("reset end")
}
}
}
与える
Cont.scala:16: error: type mismatch;
found : Unit
required: Unit @scala.util.continuations.cpsParam[Unit,Unit]
case e: Exception => println(e)
^
one error found
try/catch ブロックを削除すると、すべて問題ありません。Scalaで継続がどのように機能するかをまだ理解しようとしていますが、これは完全に私を逃れています。