J'essaie de passer par le chapitre 9 de la programmation dans Scala, mais j'ai trouvé que l'exemple de code Acteur ne pouvait pas fonctionner en mode script.Scala Acteur en mode script
Le code est simple:
// 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
Mais quand je lance scala TestActor.scala
, rien ne se passe, la sortie du programme avant quoi que ce soit d'impression de classe Redford.
Mais si j'utilise le code suivant pour compiler et exécuter, tout fonctionne bien, il imprime le message comme prévu.
// 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
}
}
Il semble que lorsque le programme s'exécute en mode script, il sort avant que l'acteur ne fasse quoi que ce soit.
Pourquoi cela se produit-il? Et comment pourrais-je faire ce programme ne pas sortir avant Actor.act()
est fait lorsque le programme fonctionne en mode script?
Mise à jour:
J'utilise Scala 2.8.1.final
Hmmm ... 1er fonctionne très bien à 2.8.0.final –