Вопрос говорит все это.
(Все же, детали того, как получить доступ к shift
и reset
операции изменились за эти годы. Старые записи в блоге и ответы Переполнения стека могут иметь устаревший информация.)
См. также, Что такое продолжения Scala и почему используют их? который говорит о том, с чем Вы могли бы хотеть сделать shift
и reset
после того как у Вас есть они.
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._
Теперь вы можете использовать shift
и reset
на свое усмотрение.
историческая информация для Scala 2.8, 2.9, 2.10
Вы должны запустить scala (или scalac) с флагом -P:continuations:enable
.
В своем коде сделайте import scala.util.continuations._
Теперь вы можете использовать shift
и reset
на свое усмотрение.
Если вы используете 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