Chan Chen Coding...

Scala First Taste

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:

EnvironmentVariableValue (example)
Unix
$SCALA_HOME $PATH
/usr/local/share/scala $PATH:$SCALA_HOME/bin 
Windows
%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 the scala command is specified in the PATH 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 extendsApplication, 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!")
}


-----------------------------------------------------
Silence, the way to avoid many problems;
Smile, the way to solve many problems;

posted on 2012-02-25 21:50 Chan Chen 阅读(230) 评论(0)  编辑  收藏 所属分类: Scala / Java


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问