1
私はScalaのProgrammingの第9章を試していますが、Actorサンプルコードはスクリプトモードでは実行できませんでした。Scala Actor in script mode
// TestActor.scala
import scala.actors.Actor
class Redford extends Actor {
def act() {
println("A lot of what acting is, is paying attention.")
}
}
val robert = new Redford
robert.start
しかし、私はscala TestActor.scala
を実行すると、何もレッドフォード、クラスの印刷は何も前に、プログラムの終了を起こりません:
コードは単純です。
コンパイルと実行に次のコードを使用すると、すべて正常に動作し、期待どおりのメッセージが出力されます。
// TestActorCompiled.scala
import scala.actors.Actor
class Redford extends Actor {
def act() {
println("A lot of what acting is, is paying attention.")
}
}
object Main {
def main (args: Array[String]) {
val robert = new Redford
robert.start
}
}
プログラムがスクリプトモードで実行されていると、俳優が何かをする前に終了するようです。
これはどうしてですか?そして、プログラムがスクリプトモードで実行されているときに、Actor.act()
が実行される前に、このプログラムを終了させないようにするにはどうすればよいですか?
更新:
私が使用しているScalaの2.8.1.final
うーん...第一は、2.8.0.finalで正常に動作します –