diff options
Diffstat (limited to 'docs/examples')
-rw-r--r-- | docs/examples/actors/channels.scala | 26 | ||||
-rw-r--r-- | docs/examples/actors/pingpong.scala | 1 |
2 files changed, 26 insertions, 1 deletions
diff --git a/docs/examples/actors/channels.scala b/docs/examples/actors/channels.scala new file mode 100644 index 0000000000..498fb9602c --- /dev/null +++ b/docs/examples/actors/channels.scala @@ -0,0 +1,26 @@ +package examples.actors + +import scala.actors._ +import scala.actors.Actor._ + +object channels extends Application { + case class Msg(ch1: Channel[int], ch2: Channel[String]) + + val a = actor { + val Ch1 = new Channel[int] + val Ch2 = new Channel[String] + + b ! Msg(Ch1, Ch2) + + react { + case Ch1 ! x => Console.println("received on int channel: "+x) + case Ch2 ! y => Console.println("received on String channel: "+y) + } + } + + val b = actor { + react { + case Msg(ch1, ch2) => ch1 ! 42 + } + } +} diff --git a/docs/examples/actors/pingpong.scala b/docs/examples/actors/pingpong.scala index 336df74465..0818606ae6 100644 --- a/docs/examples/actors/pingpong.scala +++ b/docs/examples/actors/pingpong.scala @@ -18,7 +18,6 @@ object pingpong extends Application { val ping = new Ping(100000, pong) ping.start pong.start - ping ! SendPing } class Ping(count: int, pong: Actor) extends Actor { |