如何在Scala中启用延续?

时间:2010-04-21 13:19:23

标签: scala continuations

问题说明了一切。

(然而,多年来有关如何访问shiftreset操作的详细信息已发生变化。旧博客条目和Stack Overflow答案可能包含过时信息。)

另请参阅What are Scala continuations and why use them?,其中介绍了在您拥有shiftreset后可能要执行的操作。

2 个答案:

答案 0 :(得分:29)

Scala 2.11

最简单的方法是使用sbt:

scalaVersion := "2.11.6"

autoCompilerPlugins := true

addCompilerPlugin(
  "org.scala-lang.plugins" % "scala-continuations-plugin_2.11.6" % "1.0.2")

libraryDependencies +=
  "org.scala-lang.plugins" %% "scala-continuations-library" % "1.0.2"

scalacOptions += "-P:continuations:enable"

在您的代码(或REPL)中,执行import scala.util.continuations._

现在,您可以将shiftreset用于您心中的内容。

Scala 2.8,2.9,2.10的历史信息

您必须使用-P:continuations:enable标志启动scala(或scalac)。

在您的代码中,执行import scala.util.continuations._

现在,您可以将shiftreset用于您心中的内容。

如果您使用的是sbt 0.7,请参阅https://groups.google.com/forum/#!topic/simple-build-tool/Uj-7zl9n3f4

如果您使用的是sbt 0.11+,请参阅https://gist.github.com/1302944

如果您使用的是maven,请参阅http://scala-programming-language.1934581.n4.nabble.com/scala-using-continuations-plugin-with-2-8-0-RC1-and-maven-td2065949.html#a2065949

答案 1 :(得分:7)

非SBT解决方案:

$(document).ready(function(){

    alert("I'm ready!");

});

适用于scala 2.11.6,但插件/库said将不再包含在Scala 2.12中