pingpong.scala
来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 62 行
SCALA
62 行
package examples.actorsimport scala.actors.Actorimport scala.actors.Actor._case object Pingcase object Pongcase object Stop/** * Ping pong example. * * @author Philipp Haller * @version 1.1 */object pingpong extends Application { val pong = new Pong val ping = new Ping(100000, pong) ping.start pong.start}class Ping(count: Int, pong: Actor) extends Actor { def act() { var pingsLeft = count - 1 pong ! Ping loop { react { case Pong => if (pingsLeft % 1000 == 0) println("Ping: pong") if (pingsLeft > 0) { pong ! Ping pingsLeft -= 1 } else { println("Ping: stop") pong ! Stop exit() } } } }}class Pong extends Actor { def act() { var pongCount = 0 loop { react { case Ping => if (pongCount % 1000 == 0) println("Pong: ping "+pongCount) sender ! Pong pongCount += 1 case Stop => println("Pong: stop") exit() } } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?