From cfffbfed6875c21478ba57a1536551b743396536 Mon Sep 17 00:00:00 2001 From: Philipp Haller Date: Tue, 1 May 2007 09:34:19 +0000 Subject: Improved ping pong example. --- docs/examples/actors/pingpong.scala | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'docs/examples') diff --git a/docs/examples/actors/pingpong.scala b/docs/examples/actors/pingpong.scala index 679385abbe..e270116097 100644 --- a/docs/examples/actors/pingpong.scala +++ b/docs/examples/actors/pingpong.scala @@ -3,28 +3,26 @@ package examples.actors import scala.actors.Actor import scala.actors.Actor._ -case object SendPing case object Ping case object Pong case object Stop class Ping(count: int, pong: Actor) extends Actor { def act() { - var pingsLeft = count + var pingsLeft = count - 1 + pong ! Ping loop { react { - case SendPing => - pong ! Ping - pingsLeft = pingsLeft - 1 case Pong => if (pingsLeft % 1000 == 0) Console.println("Ping: pong") - if (pingsLeft > 0) - self ! SendPing - else { + if (pingsLeft > 0) { + pong ! Ping + pingsLeft -= 1 + } else { Console.println("Ping: stop") pong ! Stop - exit('stop) + exit() } } } @@ -40,10 +38,10 @@ class Pong extends Actor { if (pongCount % 1000 == 0) Console.println("Pong: ping "+pongCount) sender ! Pong - pongCount = pongCount + 1 + pongCount += 1 case Stop => Console.println("Pong: stop") - exit('stop) + exit() } } } @@ -54,5 +52,4 @@ object pingpong extends Application { val ping = new Ping(100000, pong) ping.start pong.start - ping ! SendPing } -- cgit v1.2.3