summaryrefslogtreecommitdiff
path: root/docs/examples/fors.scala
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2006-10-10 16:00:00 +0000
committermichelou <michelou@epfl.ch>2006-10-10 16:00:00 +0000
commit2f0f432ebcbbdf6fb25c8f500ee2fffe6b8ed025 (patch)
tree401e18f07778ba1bb58d66eff6b91ede4146ab71 /docs/examples/fors.scala
parentdcbcc2938384bd08794e6776c17e8c33b69672a7 (diff)
downloadscala-2f0f432ebcbbdf6fb25c8f500ee2fffe6b8ed025.tar.gz
scala-2f0f432ebcbbdf6fb25c8f500ee2fffe6b8ed025.tar.bz2
scala-2f0f432ebcbbdf6fb25c8f500ee2fffe6b8ed025.zip
updated docs/examples/*.scala
Diffstat (limited to 'docs/examples/fors.scala')
-rw-r--r--docs/examples/fors.scala82
1 files changed, 40 insertions, 42 deletions
diff --git a/docs/examples/fors.scala b/docs/examples/fors.scala
index 6c969d3519..3de4ba52b7 100644
--- a/docs/examples/fors.scala
+++ b/docs/examples/fors.scala
@@ -1,48 +1,48 @@
-package examples;
+package examples
-import scala.xml._;
+import scala.xml._
object fors {
- val e = Node.NoAttributes ;
+ val e = Node.NoAttributes
class Person(_name: String, _age: Int) {
- val name = _name;
- val age = _age;
+ val name = _name
+ val age = _age
}
def printOlderThan20(xs: Seq[Person]): Iterator[String] =
- printOlderThan20(xs.elements);
+ printOlderThan20(xs.elements)
def printOlderThan20(xs: Iterator[Person]): Iterator[String] =
- for (val p <- xs; p.age > 20) yield p.name;
+ for (val p <- xs; p.age > 20) yield p.name
val persons = List(
new Person("John", 40),
new Person("Richard", 68)
- );
+ )
def divisors(n: Int): List[Int] =
- for (val i <- List.range(1, n+1); n % i == 0) yield i;
+ for (val i <- List.range(1, n+1); n % i == 0) yield i
- def isPrime(n: Int) = divisors(n).length == 2;
+ def isPrime(n: Int) = divisors(n).length == 2
def findNums(n: Int): Iterator[Pair[Int, Int]] =
for (val i <- Iterator.range(1, n);
val j <- Iterator.range(1, i-1);
- isPrime(i+j)) yield Pair(i, j);
+ isPrime(i+j)) yield Pair(i, j)
def sum(xs: List[Double]): Double =
xs.foldLeft(0.0) { (x, y) => x + y }
def scalProd(xs: List[Double], ys: List[Double]) =
- sum(for(val Pair(x, y) <- xs zip ys) yield x * y);
+ sum(for(val Pair(x, y) <- xs zip ys) yield x * y)
- type Lst = List[Any];
+ type Lst = List[Any]
- val prefix = null;
- val scope = TopScope;
+ val prefix = null
+ val scope = TopScope
val books = List(
Elem(prefix, "book", e, scope,
@@ -62,53 +62,51 @@ object fors {
Elem(prefix, "book", e, scope,
Elem(prefix, "title", e, scope,
Text("Programming in Modula-2")),
- Elem(prefix, "author", e, scope,
+ Elem(prefix, "author", e, scope,
Text("Wirth, Niklaus")))
- );
+ )
def findAuthor(books: Lst) =
- for (val Elem(_, "book", _, scope, book @ _*) <- books;
- val Elem(_, "title", _, scope, Text(title)) <- book;
+ for (val Elem(_, "book", _, _, book @ _*) <- books;
+ val Elem(_, "title", _, _, Text(title)) <- book.toList;
(title indexOf "Program") >= 0;
- val Elem(_, "author", _, scope, Text(author)) <- book) yield author;
+ val Elem(_, "author", _, _, Text(author)) <- List(book)) yield author
- for (val Elem(_, "book", _, scope, b @ _*) <- books;
- val Elem(_, "author", _, scope, Text(author)) <- b;
+ for (val Elem(_, "book", _, _, book @ _*) <- books;
+ val Elem(_, "author", _, _, Text(author)) <- book.toList;
author startsWith "Ullman";
- val Elem(_, "title", _, scope, Text(title)) <- b) yield title;
+ val Elem(_, "title", _, _, Text(title)) <- List(book)) yield title
removeDuplicates(
- for (val Elem(_, "book", _, scope, b1 @ _* ) <- books;
- val Elem(_, "book", _, scope, b2 @ _*) <- books;
- b1 != b2;
- val Elem(_, "author", _, scope, Text(a1)) <- b1;
- val Elem(_, "author", _, scope, Text(a2)) <- b2;
- a1 == a2) yield Pair(a1, a2));
+ for (val Elem(_, "book", _, _, b1 @ _* ) <- books;
+ val Elem(_, "book", _, _, b2 @ _*) <- books;
+ b1 != b2;
+ val Elem(_, "author", _, _, Text(a1)) <- b1.toList;
+ val Elem(_, "author", _, _, Text(a2)) <- b2.toList;
+ a1 == a2) yield Pair(a1, a2))
def removeDuplicates[a](xs: List[a]): List[a] =
if (xs.isEmpty)
xs
else
- xs.head :: removeDuplicates(for (val x <- xs.tail; x != xs.head) yield x);
+ xs.head :: removeDuplicates(for (val x <- xs.tail; x != xs.head) yield x)
def main(args: Array[String]) = {
- Console.print("Persons over 20:");
- printOlderThan20(persons) foreach { x => Console.print(" " + x) };
- Console.println;
+ Console.print("Persons over 20:")
+ printOlderThan20(persons) foreach { x => Console.print(" " + x) }
+ Console.println
- Console.println("divisors(34) = " + divisors(34));
+ Console.println("divisors(34) = " + divisors(34))
Console.print("findNums(15) =");
- findNums(15) foreach { x => Console.print(" " + x); };
- Console.println;
+ findNums(15) foreach { x => Console.print(" " + x); }
+ Console.println
- val xs = List(3.5, 5.0, 4.5);
- Console.println("average(" + xs + ") = "
- + sum(xs) / xs.length);
+ val xs = List(3.5, 5.0, 4.5)
+ Console.println("average(" + xs + ") = " + sum(xs) / xs.length)
- val ys = List(2.0, 1.0, 3.0);
- Console.println("scalProd(" + xs + ", " + ys +") = "
- + scalProd(xs, ys));
+ val ys = List(2.0, 1.0, 3.0)
+ Console.println("scalProd(" + xs + ", " + ys +") = " + scalProd(xs, ys))
}
}