2

Scala 2.10 の継続プラグインのステータスは? 少し混乱しています。次の設定は、Akka 2.2-SNAPSHOT ドキュメントにあります。

autoCompilerPlugins := true,
libraryDependencies <+= scalaVersion {
  v => compilerPlugin("org.scala-lang.plugins" % "continuations" % "2.10.0")
},
scalacOptions += "-P:continuations:enable",

まず、 はscalacOption2.10 では動作しなくなりscalaVersion、ライブラリの依存関係では実際には使用されません。単純に 2.10 を使用し、特別な構成を行わず (上記のすべてを削除)、Akka 2.1.0 を使用した場合:

import concurrent.ExecutionContext.Implicits.global
import akka.dataflow._

flow { "Hello world!" } onComplete println

継続プラグインが有効になっていないことを示すエラーが表示されます。


Scala 2.10 で継続を有効にするための正しいアプローチは何ですか?

具体的sbt consoleには、 にドロップして上記の例を で試すにはどうすればよいですかflow。REPL に対してコンパイラ プラグインが有効になっていることも確認する必要があるようです。


編集scalacOptionsエントリは機能します。タイプミスがあったようです。

4

1 に答える 1

4

これでbuild.sbt

autoCompilerPlugins := true

scalaVersion := "2.10.0"

libraryDependencies +=
  compilerPlugin("org.scala-lang.plugins" % "continuations" % "2.10.0")

scalacOptions += "-P:continuations:enable"

次の継続のみ (Akka なし) の例は、REPL で機能します。

scala> import scala.util.continuations._

scala> reset { val i = shift { body: (Int => Unit) => body(5);
     | println("done") }; println(i) }
于 2013-01-18T17:57:20.787 に答える