From 1f65685c9626929f3e6d7b81225f57fd4e68438c Mon Sep 17 00:00:00 2001 From: michelou Date: Wed, 16 May 2007 13:30:30 +0000 Subject: updated examples --- docs/examples/Parsers.scala | 14 +++++++------- docs/examples/boundedbuffer.scala | 12 ++++++------ docs/examples/computeserver.scala | 6 +++--- docs/examples/fors.scala | 28 ++++++++++++++-------------- docs/examples/futures.scala | 6 +++--- docs/examples/iterators.scala | 10 +++++----- docs/examples/maps.scala | 6 +++--- docs/examples/oneplacebuffer.scala | 8 ++++---- docs/examples/parsers1.scala | 8 +++++--- docs/examples/parsers2.scala | 3 ++- docs/examples/patterns.scala | 6 +++--- docs/examples/sort.scala | 18 +++++++++--------- docs/examples/sort1.scala | 6 +++--- docs/examples/sort2.scala | 6 +++--- docs/examples/typeinf.scala | 9 +++++---- 15 files changed, 75 insertions(+), 71 deletions(-) (limited to 'docs/examples') diff --git a/docs/examples/Parsers.scala b/docs/examples/Parsers.scala index b18d5d5188..4129edca2d 100644 --- a/docs/examples/Parsers.scala +++ b/docs/examples/Parsers.scala @@ -58,16 +58,16 @@ abstract class Parsers { class Tokenizer(in: Iterator[char], delimiters: String) extends Iterator[String] { - val EOI: char = 0; + val EOI: char = 0 def nextChar() = - if (in.hasNext) in.next else EOI; + if (in.hasNext) in.next else EOI private var ch = nextChar(); def isDelimiter(ch: Char) = { - var i = 0; - while (i < delimiters.length() && delimiters.charAt(i) != ch) { i = i + 1 } + var i = 0 + while (i < delimiters.length() && delimiters.charAt(i) != ch) { i += 1 } i < delimiters.length() } @@ -76,7 +76,7 @@ class Tokenizer(in: Iterator[char], delimiters: String) extends Iterator[String] private val buf = new StringBuffer def next: String = { - while (ch <= ' ' && ch != EOI) nextChar(); + while (ch <= ' ' && ch != EOI) nextChar() if (ch == EOI) "" else { if (isDelimiter(ch)) ch.toString() @@ -102,7 +102,7 @@ trait TokenParsers extends Parsers { trait CharParsers extends Parsers { def any: Parser[char] def chr(ch: char) = - for (c <- any; if c == ch) yield c + for (c <- any if c == ch) yield c def chr(p: char => boolean) = - for (c <- any; if p(c)) yield c + for (c <- any if p(c)) yield c } diff --git a/docs/examples/boundedbuffer.scala b/docs/examples/boundedbuffer.scala index 414566adef..dceda62bd4 100644 --- a/docs/examples/boundedbuffer.scala +++ b/docs/examples/boundedbuffer.scala @@ -12,13 +12,13 @@ object boundedbuffer { def put(x: a) = synchronized { await (n < N) - elems(in) = x; in = (in + 1) % N; n = n + 1 + elems(in) = x; in = (in + 1) % N; n += 1 if (n == 1) notifyAll() } def get: a = synchronized { await (n != 0) - val x = elems(out); out = (out + 1) % N ; n = n - 1 + val x = elems(out); out = (out + 1) % N ; n -= 1 if (n == N - 1) notifyAll() x } @@ -27,17 +27,17 @@ object boundedbuffer { def kill(delay: Int) = new java.util.Timer().schedule( new java.util.TimerTask { override def run() = { - Console.println("[killed]") + println("[killed]") System.exit(0) } }, delay) // in milliseconds - def main(args: Array[String]) = { + def main(args: Array[String]) { val buf = new BoundedBuffer[String](10) var cnt = 0 - def produceString = { cnt = cnt + 1; cnt.toString() } - def consumeString(ss: String) = Console.println(ss) + def produceString = { cnt += 1; cnt.toString() } + def consumeString(ss: String) = println(ss) spawn { while (true) { val ssss = produceString; buf.put(ssss) } } spawn { while (true) { val s = buf.get; consumeString(s) } } kill(1000) diff --git a/docs/examples/computeserver.scala b/docs/examples/computeserver.scala index 50e2ed034f..bd6f536dfa 100644 --- a/docs/examples/computeserver.scala +++ b/docs/examples/computeserver.scala @@ -15,7 +15,7 @@ class ComputeServer(n: Int) { private def processor(i: Int): Unit = { while (true) { val job = openJobs.read - Console.println("read a job") + println("read a job") job.ret(job.task) } } @@ -40,7 +40,7 @@ object computeserver extends Application { def kill(delay: Int) = new java.util.Timer().schedule( new java.util.TimerTask { override def run() = { - Console.println("[killed]") + println("[killed]") System.exit(0) } }, @@ -48,6 +48,6 @@ object computeserver extends Application { val server = new ComputeServer(1) val f = server.future(42) - Console.println(f()) + println(f()) kill(10000) } diff --git a/docs/examples/fors.scala b/docs/examples/fors.scala index b36ac2b60f..f872980f28 100644 --- a/docs/examples/fors.scala +++ b/docs/examples/fors.scala @@ -16,7 +16,7 @@ object fors { printOlderThan20(xs.elements) def printOlderThan20(xs: Iterator[Person]): Iterator[String] = - for (p <- xs; if p.age > 20) yield p.name + for (p <- xs if p.age > 20) yield p.name val persons = List( new Person("John", 40), @@ -24,13 +24,13 @@ object fors { ) def divisors(n: Int): List[Int] = - for (i <- List.range(1, n+1); if n % i == 0) yield i + for (i <- List.range(1, n+1) if n % i == 0) yield i def isPrime(n: Int) = divisors(n).length == 2 def findNums(n: Int): Iterator[Pair[Int, Int]] = - for (i <- Iterator.range(1, n); - j <- Iterator.range(1, i-1); + for (i <- 1 until n; + j <- 1 until (i-1); if isPrime(i+j)) yield Pair(i, j) def sum(xs: List[Double]): Double = @@ -89,24 +89,24 @@ object fors { if (xs.isEmpty) xs else - xs.head :: removeDuplicates(for (x <- xs.tail; if x != xs.head) yield x) + xs.head :: removeDuplicates(for (x <- xs.tail if x != xs.head) yield x) - def main(args: Array[String]) = { - Console.print("Persons over 20:") - printOlderThan20(persons) foreach { x => Console.print(" " + x) } - Console.println + def main(args: Array[String]) { + print("Persons over 20:") + printOlderThan20(persons) foreach { x => print(" " + x) } + println - Console.println("divisors(34) = " + divisors(34)) + println("divisors(34) = " + divisors(34)) - Console.print("findNums(15) ="); + print("findNums(15) ="); findNums(15) foreach { x => Console.print(" " + x); } - Console.println + println val xs = List(3.5, 5.0, 4.5) - Console.println("average(" + xs + ") = " + sum(xs) / xs.length) + println("average(" + xs + ") = " + sum(xs) / xs.length) val ys = List(2.0, 1.0, 3.0) - Console.println("scalProd(" + xs + ", " + ys +") = " + scalProd(xs, ys)) + println("scalProd(" + xs + ", " + ys +") = " + scalProd(xs, ys)) } } diff --git a/docs/examples/futures.scala b/docs/examples/futures.scala index 79682b5b76..e05b6b330e 100644 --- a/docs/examples/futures.scala +++ b/docs/examples/futures.scala @@ -8,10 +8,10 @@ object futures { def f(x: Int) = x + x def g(x: Int) = x * x - def main(args: Array[String]): Unit = { + def main(args: Array[String]) { val x = future(someLengthyComputation) anotherLengthyComputation val y = f(x()) + g(x()) - Console.println(y) + println(y) } -} \ No newline at end of file +} diff --git a/docs/examples/iterators.scala b/docs/examples/iterators.scala index b390f4007a..4f4aa79f28 100644 --- a/docs/examples/iterators.scala +++ b/docs/examples/iterators.scala @@ -1,16 +1,16 @@ -package examples; +package examples object iterators { def Array(elems: Double*): Array[Double] = { val ar = new Array[Double](elems.length) - for (i <- Iterator.range(0, elems.length)) + for (i <- 0 until elems.length) ar(i) = elems(i) ar } def printArray(xs: Array[Double]) = - Iterator.fromArray(xs) foreach { x => Console.println(x) } + Iterator.fromArray(xs) foreach { x => println(x) } def findGreater(xs: Array[Double], limit: Double) = Iterator.fromArray(xs) @@ -18,10 +18,10 @@ object iterators { .filter{case Pair(x, i) => x > limit } .map{case Pair(x, i) => i} - def main(args: Array[String]): Unit = { + def main(args: Array[String]) { val ar = Array/*[Double]*/(6, 2, 8, 5, 1) printArray(ar) - Console.println("Elements greater than 3.0:") + println("Elements greater than 3.0:") findGreater(ar, 3.0) foreach { x => Console.println(ar(x)) } } diff --git a/docs/examples/maps.scala b/docs/examples/maps.scala index 504966cf81..ac54068730 100644 --- a/docs/examples/maps.scala +++ b/docs/examples/maps.scala @@ -171,12 +171,12 @@ object maps { override def equals(that: Any): Boolean = that.isInstanceOf[Date] && { - val o = that.asInstanceOf[Date]; - day == o.day && month == o.month && year == o.year + val o = that.asInstanceOf[Date]; + day == o.day && month == o.month && year == o.year } } - def main(args: Array[String]) = { + def main(args: Array[String]) { val t = new OOBinTree[Date, String]() () } diff --git a/docs/examples/oneplacebuffer.scala b/docs/examples/oneplacebuffer.scala index ccdb0f8732..55d85068ad 100644 --- a/docs/examples/oneplacebuffer.scala +++ b/docs/examples/oneplacebuffer.scala @@ -2,7 +2,7 @@ package examples object oneplacebuffer { - import scala.concurrent._; + import scala.concurrent._ class OnePlaceBuffer { private val m = new MailBox() {} // An internal mailbox @@ -33,17 +33,17 @@ object oneplacebuffer { }, delay) // in milliseconds - def main(args: Array[String]) = { + def main(args: Array[String]) { val buf = new OnePlaceBuffer val random = new java.util.Random() - def producer(n: int): unit = { + def producer(n: int) { Thread.sleep(random.nextInt(1000)) buf.write(n) producer(n + 1) } - def consumer: unit = { + def consumer { Thread.sleep(random.nextInt(1000)) val n = buf.read consumer diff --git a/docs/examples/parsers1.scala b/docs/examples/parsers1.scala index c9029ffb11..e4aeea3613 100644 --- a/docs/examples/parsers1.scala +++ b/docs/examples/parsers1.scala @@ -79,7 +79,7 @@ object parsers1 { } object TestList { - def main(args: Array[String]): Unit = + def main(args: Array[String]) { Console.println( if (args.length == 1) { val ps = new ParseString(args(0)) with ListParsers @@ -93,10 +93,11 @@ object parsers1 { else "usage: java examples.TestList " ) + } } object TestExpr { - def main(args: Array[String]): unit = + def main(args: Array[String]) { Console.println( if (args.length == 1) { val ps = new ParseString(args(0)) with ExprParsers @@ -110,9 +111,10 @@ object parsers1 { else "usage: java examples.TestExpr " ) + } } - def main(args: Array[String]): Unit = { + def main(args: Array[String]) { TestList.main(Array("(a,b,(1,2))")) TestExpr.main(Array("2+3+(4+1)")) } diff --git a/docs/examples/parsers2.scala b/docs/examples/parsers2.scala index b8a497c904..71ece15552 100644 --- a/docs/examples/parsers2.scala +++ b/docs/examples/parsers2.scala @@ -52,7 +52,7 @@ object parsers2 { } } - def main(args: Array[String]): unit = + def main(args: Array[String]) { Console.println( if (args.length == 1) { val ps = new ParseString(args(0)) with ListParsers @@ -64,5 +64,6 @@ object parsers2 { else "usage: scala examples.parsers2 " ) + } } diff --git a/docs/examples/patterns.scala b/docs/examples/patterns.scala index e36149ad9c..208b216c34 100644 --- a/docs/examples/patterns.scala +++ b/docs/examples/patterns.scala @@ -29,8 +29,8 @@ object patterns { case None => System.out.println("no match") } - def main(args: Array[String]): Unit = { - Console.println("sum of leafs=" + sumLeaves(tree1)) + def main(args: Array[String]) { + println("sum of leafs=" + sumLeaves(tree1)) printFinds(List(Pair(3, "three"), Pair(4, "four")), 4) } -} \ No newline at end of file +} diff --git a/docs/examples/sort.scala b/docs/examples/sort.scala index cc06f19366..9a928f1107 100644 --- a/docs/examples/sort.scala +++ b/docs/examples/sort.scala @@ -2,23 +2,23 @@ package examples object sort { - def sort(a: Array[Int]): Unit = { + def sort(a: Array[Int]) { - def swap(i: Int, j: Int): Unit = { + def swap(i: Int, j: Int) { val t = a(i); a(i) = a(j); a(j) = t } - def sort1(l: Int, r: Int): Unit = { + def sort1(l: Int, r: Int) { val pivot = a((l + r) / 2) var i = l var j = r while (i <= j) { - while (a(i) < pivot) { i = i + 1 } - while (a(j) > pivot) { j = j - 1 } + while (a(i) < pivot) { i += 1 } + while (a(j) > pivot) { j -= 1 } if (i <= j) { swap(i, j) - i = i + 1 - j = j - 1 + i += 1 + j -= 1 } } if (l < j) sort1(l, j) @@ -29,7 +29,7 @@ object sort { sort1(0, a.length - 1) } - def println(ar: Array[Int]) = { + def println(ar: Array[Int]) { def print1 = { def iter(i: Int): String = ar(i) + (if (i < ar.length-1) "," + iter(i+1) else "") @@ -38,7 +38,7 @@ object sort { Console.println("[" + print1 + "]") } - def main(args: Array[String]): Unit = { + def main(args: Array[String]) { val ar = Array(6, 2, 8, 5, 1) println(ar) sort(ar) diff --git a/docs/examples/sort1.scala b/docs/examples/sort1.scala index 98f1370e65..39e5519fe0 100644 --- a/docs/examples/sort1.scala +++ b/docs/examples/sort1.scala @@ -13,10 +13,10 @@ object sort1 { } } - def main(args: Array[String]) = { + def main(args: Array[String]) { val xs = List(6, 2, 8, 5, 1) - Console.println(xs) - Console.println(sort(xs)) + println(xs) + println(sort(xs)) } } diff --git a/docs/examples/sort2.scala b/docs/examples/sort2.scala index 1e471b89df..8e0b070250 100644 --- a/docs/examples/sort2.scala +++ b/docs/examples/sort2.scala @@ -16,10 +16,10 @@ object sort2 { } } - def main(args: Array[String]): Unit = { + def main(args: Array[String]) { val xs = List(6, 2, 8, 5, 1) - Console.println(xs) - Console.println(sort(xs)) + println(xs) + println(sort(xs)) } } diff --git a/docs/examples/typeinf.scala b/docs/examples/typeinf.scala index da9ba9384c..80980ebc9a 100644 --- a/docs/examples/typeinf.scala +++ b/docs/examples/typeinf.scala @@ -32,7 +32,7 @@ case class Tycon(k: String, ts: List[Type]) extends Type { object typeInfer { private var n: Int = 0 - def newTyvar(): Type = { n = n + 1 ; Tyvar("a" + n) } + def newTyvar(): Type = { n += 1; Tyvar("a" + n) } trait Subst extends Function1[Type, Type] { def lookup(x: Tyvar): Type @@ -169,7 +169,7 @@ object typeInfer { /** Non-keyword identifiers */ def ident: Parser[String] = - for (s <- id; if s != "let" && s != "in") yield s + for (s <- id if s != "let" && s != "in") yield s /** term = '\' ident '.' term | term1 {term1} | let ident "=" term in term */ def term: Parser[Term] = ( @@ -181,7 +181,7 @@ object typeInfer { yield Lam(x, t): Term ) ||| ( for ( - letid <- id; if letid == "let"; + letid <- id if letid == "let"; x <- ident; _ <- wschr('='); t <- term; @@ -234,7 +234,7 @@ object typeInfer { "\n reason: " + msg } - def main(args: Array[String]): unit = + def main(args: Array[String]) { Console.println( if (args.length == 1) { val ps = new ParseString(args(0)) with MiniMLParsers @@ -248,5 +248,6 @@ object typeInfer { else "usage: java examples.typeinf " ) + } } -- cgit v1.2.3