- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Getting Started with Scala
Created by admin on 2008-07-15.
Updated: 2008-11-07, 12:03
The "Hello, world!" Program
As a first example, we use the standard Hello world
program to demonstrate the use of the Scala tools without knowing too much about the language.
object HelloWorld { def main(args: Array[String]) { println("Hello, world!") } }
The structure of this program should be familiar to Java programmers: it consists of the method main
which prints out a friendly greeting to the standard output.
We assume that both the Scala software and the user environment are set up correctly. For example:
Environment Variable Value (example) Unix $SCALA_HOME $PATH /usr/local/share/scala $PATH:$SCALA_HOME/binWindows %SCALA_HOME% %PATH% c:\Progra~1\Scala %PATH%;%SCALA_HOME%\bin
Run it interactively !
The scala
command starts an interactive shell where Scala expressions are interpreted interactively.
> scala This is a Scala shell. Type in expressions to have them evaluated. Type :help for more information. scala> object HelloWorld { | def main(args: Array[String]) { | println("Hello, world!") | } | } defined module HelloWorld scala> HelloWorld.main(null) Hello, world! unnamed0: Unit = () scala>:q
The shortcut :q
stands for the internal shell command :quit
used to exit the interpreter.
Script it !
The above Scala program may also be run as a shell script respectively as a batch command (see the examples in the man pages of the scala
command).
The bash shell script script.sh
containing the following Scala code (and shell preamble)
#!/bin/sh
exec scala "$0" "$@"
!# object HelloWorld { def main(args: Array[String]) { println("Hello, world! " + args.toList) } } HelloWorld.main(args)
can be run directly from the command shell:
> ./script.sh
Note: We assume here the file
script.sh
has execute access and the search path for thescala
command is specified in thePATH
environment variable.
Compile it !
The scalac
command compiles one (or more) Scala source file(s) and generates Java bytecode which can be executed on any standard JVM; the Scala compiler works similarly to javac
, the Java compiler of the Java SDK.
> scalac HelloWorld.scala
By default scalac
generates the class files into the current working directory. You may specify a different output directory using the -d
option.
> scalac -d classes HelloWorld.scala
Execute it !
The scala
command executes the generated bytecode with the appropriate options:
> scala HelloWorld
scala
allows us to specify command options, such as the -classpath
(or -cp
) option:
> scala -classpath classes HelloWorld
The argument of the scala
command has to be a top-level object. If that object is followed by the clause extends Application
, then all statements contained in that object will be executed; otherwise you have to add a method main
which will act as the entry point of your program.
Here is how it looks like:
object HelloWorld2 extends Application { println("Hello, world!") }