summaryrefslogtreecommitdiff
path: root/docs/examples/actors/boundedbuffer.scala
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2008-02-14 16:43:18 +0000
committermichelou <michelou@epfl.ch>2008-02-14 16:43:18 +0000
commitba31aaae833ee9caa33c5d7f713003f901b299eb (patch)
tree68b7aa6919f647e0f1d36dbf9bda31e41c5bb562 /docs/examples/actors/boundedbuffer.scala
parent2ba73ce97c64b7ead04a2efc562dbe8ca3b13e6f (diff)
downloadscala-ba31aaae833ee9caa33c5d7f713003f901b299eb.tar.gz
scala-ba31aaae833ee9caa33c5d7f713003f901b299eb.tar.bz2
scala-ba31aaae833ee9caa33c5d7f713003f901b299eb.zip
updated code
Diffstat (limited to 'docs/examples/actors/boundedbuffer.scala')
-rw-r--r--docs/examples/actors/boundedbuffer.scala15
1 files changed, 8 insertions, 7 deletions
diff --git a/docs/examples/actors/boundedbuffer.scala b/docs/examples/actors/boundedbuffer.scala
index 2cef00abb8..d4ab9715c1 100644
--- a/docs/examples/actors/boundedbuffer.scala
+++ b/docs/examples/actors/boundedbuffer.scala
@@ -3,21 +3,22 @@ package examples.actors
import scala.actors.Actor._
object boundedbuffer {
- class BoundedBuffer[T](N: int) {
+ class BoundedBuffer[T](N: Int) {
private case class Put(x: T)
private case object Get
private case object Stop
private val buffer = actor {
val buf = new Array[T](N)
- var in = 0; var out = 0; var n = 0
+ var in, out, n = 0
loop {
react {
case Put(x) if n < N =>
- buf(in) = x; in = (in + 1) % N; n = n + 1; reply()
+ buf(in) = x; in = (in + 1) % N; n += 1; reply()
case Get if n > 0 =>
- val r = buf(out); out = (out + 1) % N; n = n - 1; reply(r)
- case Stop => reply(); exit("stopped")
+ val r = buf(out); out = (out + 1) % N; n -= 1; reply(r)
+ case Stop =>
+ reply(); exit("stopped")
}
}
}
@@ -27,10 +28,10 @@ object boundedbuffer {
def stop() { buffer !? Stop }
}
- def main(args: Array[String]) = {
+ def main(args: Array[String]) {
val buf = new BoundedBuffer[Int](1)
buf.put(42)
- scala.Console.println("" + buf.get)
+ println("" + buf.get)
buf.stop()
}
}