Scala在运行时分隔了continuation错误
发布时间:2020-12-16 18:47:38 所属栏目:安全 来源:网络整理
导读:Scala新手在这里,我刚刚下载了 Eclipse 3.6.2和 Scala IDE 2.0.0-beta4(使用Scala 2.9.0.final).我创建了一个新的Scala项目来尝试分隔的延续: package delimCCTestsimport scala.util.continuations._object Test extends App { val result = reset { 1 + s
Scala新手在这里,我刚刚下载了
Eclipse 3.6.2和
Scala IDE 2.0.0-beta4(使用Scala 2.9.0.final).我创建了一个新的Scala项目来尝试分隔的延续:
package delimCCTests import scala.util.continuations._ object Test extends App { val result = reset { 1 + shift { k: (Int => Int) => k(k(5)) } + 1 } println(result) } 编译好了,然后点击Run as – > Scala应用程序并获得此异常: Exception in thread "main" java.lang.NoSuchMethodError: scala.util.continuations.package$.shift(Lscala/Function1;)Ljava/lang/Object; at delimCCTests.Test$$anonfun$1.apply$mcI$sp(DelimCCTests.scala:7) at delimCCTests.Test$$anonfun$1.apply(DelimCCTests.scala:7) at delimCCTests.Test$$anonfun$1.apply(DelimCCTests.scala:7) at scala.util.continuations.package$.reset(package.scala:20) at delimCCTests.Test$delayedInit$body.apply(DelimCCTests.scala:6) at scala.Function0$class.apply$mcV$sp(Function0.scala:34) at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) at scala.App$$anonfun$main$1.apply(App.scala:60) at scala.App$$anonfun$main$1.apply(App.scala:60) at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) at scala.collection.immutable.List.foreach(List.scala:45) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:30) at scala.App$class.main(App.scala:60) at delimCCTests.Test$.main(DelimCCTests.scala:5) at delimCCTests.Test.main(DelimCCTests.scala) 我究竟做错了什么?我错过了一些配置吗? BTW我以为编译器推断了延续的类型? This article用途: val result = reset { 1 + shift { k => k(k(5)) } + 1 } 但这不能在我的环境中编译…… 解决方法
此错误意味着您没有添加Scala CPS插件 – 它不是标准程序集的一部分(到目前为止).将
the jar放在类路径上,然后运行Scala,以便启用延续:
$scala -P:continuations:enable (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |