0
我想运行此代码来学习演员(在Eclipse上使用Scala),但它告诉我,值Ping和Pong未找到。演员示例不编译
任何想法我做错了什么?
我安装了akka。 任何帮助表示赞赏。
感谢
import scala.actors.Actor
import scala.actors.Actor._
class Ping(count: int, pong:Actor) extends Actor{ // type int here is not found as well
def act(){
var pingsLeft= count-1
pong! Ping
while(true){
receive {
case Pong =>
if (pingsLeft % 1000 ==0)
Console.println("Ping : pong ")
if (pingsLeft > 0){
pong ! Ping
pingsleft -=1
} else {
Console.println("Ping : stop")
pong ! Stop
exit()
}
}
}
}
}
class Pong extends Actor {
def act(){
var pongCount =0
while (true){
receive {
case Ping =>
if(pongCount % 1000 ==0)
Console.println("Pong : ping " + pongCount)
sender ! Pong
pongCount = pongCount + 1
case Stop =>
Console.println("Pong : stop")
exit()
}
}
}
}
object pingpong extends Application {
val pong = new Pong
val ping = new Ping(100000, pong)
ping.start
pong.start
}
就像一个人站起来一样,scala参与者已被弃用。如果您计划使用Actor,则应更改您的示例以使用akka.actor中的actor而不是scala.actor。您还需要重构代码以使用akka约定。 – cmbaxter