summaryrefslogtreecommitdiff
path: root/docs/examples/actors/producers.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/producers.scala
parent2ba73ce97c64b7ead04a2efc562dbe8ca3b13e6f (diff)
downloadscala-ba31aaae833ee9caa33c5d7f713003f901b299eb.tar.gz
scala-ba31aaae833ee9caa33c5d7f713003f901b299eb.tar.bz2
scala-ba31aaae833ee9caa33c5d7f713003f901b299eb.zip
updated code
Diffstat (limited to 'docs/examples/actors/producers.scala')
-rw-r--r--docs/examples/actors/producers.scala32
1 files changed, 17 insertions, 15 deletions
diff --git a/docs/examples/actors/producers.scala b/docs/examples/actors/producers.scala
index 859de901e6..648d409233 100644
--- a/docs/examples/actors/producers.scala
+++ b/docs/examples/actors/producers.scala
@@ -14,11 +14,12 @@ abstract class Producer[T] {
/** A signal to stop the coordinator. */
private val Stop = new Object
- protected def produce(x: T): unit = {
+ protected def produce(x: T) {
coordinator ! Some(x)
receive { case Next => }
}
- protected def produceValues: unit
+
+ protected def produceValues: Unit
def iterator = new Iterator[T] {
private var current: Any = Undefined
@@ -27,7 +28,7 @@ abstract class Producer[T] {
current
}
- def hasNext: boolean = lookAhead match {
+ def hasNext: Boolean = lookAhead match {
case Some(x) => true
case None => { coordinator ! Stop; false }
}
@@ -45,7 +46,8 @@ abstract class Producer[T] {
reply {
receive { case x: Option[_] => x }
}
- case Stop => exit('stop)
+ case Stop =>
+ exit('stop)
}
}
}
@@ -61,13 +63,13 @@ abstract class Producer[T] {
object producers extends Application {
- class Tree(val left: Tree, val elem: int, val right: Tree)
+ class Tree(val left: Tree, val elem: Int, val right: Tree)
def node(left: Tree, elem: int, right: Tree): Tree = new Tree(left, elem, right)
def node(elem: int): Tree = node(null, elem, null)
def tree = node(node(node(3), 4, node(6)), 8, node(node(9), 10, node(11)))
- class PreOrder(n: Tree) extends Producer[int] {
+ class PreOrder(n: Tree) extends Producer[Int] {
def produceValues = traverse(n)
def traverse(n: Tree) {
if (n != null) {
@@ -78,7 +80,7 @@ object producers extends Application {
}
}
- class PostOrder(n: Tree) extends Producer[int] {
+ class PostOrder(n: Tree) extends Producer[Int] {
def produceValues = traverse(n)
def traverse(n: Tree) {
if (n != null) {
@@ -89,7 +91,7 @@ object producers extends Application {
}
}
- class InOrder(n: Tree) extends Producer[int] {
+ class InOrder(n: Tree) extends Producer[Int] {
def produceValues = traverse(n)
def traverse(n: Tree) {
if (n != null) {
@@ -101,12 +103,12 @@ object producers extends Application {
}
actor {
- Console.print("PreOrder:")
- for (x <- new PreOrder(tree).iterator) Console.print(" "+x)
- Console.print("\nPostOrder:")
- for (x <- new PostOrder(tree).iterator) Console.print(" "+x)
- Console.print("\nInOrder:")
- for (x <- new InOrder(tree).iterator) Console.print(" "+x)
- Console.print("\n")
+ print("PreOrder:")
+ for (x <- new PreOrder(tree).iterator) print(" "+x)
+ print("\nPostOrder:")
+ for (x <- new PostOrder(tree).iterator) print(" "+x)
+ print("\nInOrder:")
+ for (x <- new InOrder(tree).iterator) print(" "+x)
+ print("\n")
}
}