Source | Description |
---|---|
addressbook.scala [1] | Address book to XHTML code (see also XML Processing [2]) |
callccInterpreter.scala [3] | Interpreter with continuations using monads |
fors.scala [4] | for comprehensions (see also Sequence Comprehensions [5]) |
gadts.scala [6] | Generalised algebraic data types |
lazyEvaluation.scala [7] | Lazy evaluation |
message.scala [8] | Actors (see also Actors for Scala [9]) |
patterns.scala [10] | Pattern matching using case classes (see also Case Classes [11]) |
extractorPatterns.scala [12] | Pattern matching using extractors - a flexible way of matching objects with patterns |
pingpong.scala [13] | Actors (see also Actors for Scala [9]) |
properties.scala [14] | Properties |
random.scala [15] | Client/server application using Java sockets |
simpleInterpreter.scala [16] | Simple interpreter using monads |
sort.scala [17] | Recursive quicksort algorithm (imperative solution, see also Nested Functions [18]) |
sort1.scala [19] | Recursive quicksort algorithm (functional solution) |
timeofday.scala [20] | Properties (see example 1 in ยง 4.2 of the Scala Language Specification [21]) |
vectors.scala [22] | Vector operations using views (see also Views [23]) |
brainf_ck.scala [24] | A small Brainf*ck [25] interpreter |
To compile and run on Windows one of the above Scala programs, let's say sort.scala
, we can simply proceed as follows:
> mkdir classes > scalac -d classes %SCALA_HOME%\doc\scala-devel\scala\examples\sort.scala > scala -cp classes examples.sort [6,2,8,5,1] [1,2,5,6,8]
The name of the Scala executable is examples.sort
where examples
is the name of the package containing the sort
object. Running the test on a Unix system is very much similar, except for the use of slashes instead of backslashes, and a different specification of the Scala home directory.
Finally, the following ressources contain Scala examples as well:
examples
with other source examples.
Links:
[1] http://www.scala-lang.org/node/45
[2] http://www.scala-lang.org/node/131
[3] http://www.scala-lang.org/node/46
[4] http://www.scala-lang.org/node/47
[5] http://www.scala-lang.org/node/111
[6] http://www.scala-lang.org/node/48
[7] http://www.scala-lang.org/node/49
[8] http://www.scala-lang.org/node/50
[9] http://www.scala-lang.org/node/242
[10] http://www.scala-lang.org/node/52
[11] http://www.scala-lang.org/node/107
[12] http://www.scala-lang.org/node/53
[13] http://www.scala-lang.org/node/54
[14] http://www.scala-lang.org/node/29
[15] http://www.scala-lang.org/node/55
[16] http://www.scala-lang.org/node/56
[17] http://www.scala-lang.org/node/57
[18] http://www.scala-lang.org/node/116
[19] http://www.scala-lang.org/node/58
[20] http://www.scala-lang.org/node/59
[21] http://www.scala-lang.org/node/198
[22] http://www.scala-lang.org/node/60
[23] http://www.scala-lang.org/node/130
[24] http://www.scala-lang.org/node/5372
[25] http://en.wikipedia.org/wiki/Brainfuck
[26] http://www.scala-lang.org/downloads
[27] http://www.scala-lang.org/sites/default/files/linuxsoft_archives/docu/files/ScalaByExample.pdf#
[28] http://scala.sygneca.com/code/start