一、安装(略)
二、Hello World
> 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]): Unit = {
| println("Hello, world!")
| }
| }
defined module HelloWorld
scala> HelloWorld.main(Array())
Hello, world!
scala>:q
>
三、编译
编译的好处是:可以在任何标准的JVM下执行。
1、写好 HelloWorld.scala 文件
2、编译:
sun-3:scalaDocumentLearn sun$ scalac -d classes/ HelloWorld.scala
sun-3:scalaDocumentLearn sun$ ls
HelloWorld.scala classes
sun-3:scalaDocumentLearn sun$ cd classes/
sun-3:classes sun$ ls
HelloWorld$.class HelloWorld.class
四、执行
这样我们就可以在.class文件目录下执行 scala Helloworld 啦。 如果在别的目录,可以用 scala -cp XXX/ 来指定路径。
sun-3:scalaDocumentLearn sun$ scala -cp classes/ HelloWorld
Hello, world!
注意:
在写 HelloWorld.scala时,需要写main函数,如果不想写,可以让object继承App trait。因为App trait有个成员函数就是main。所以继承后 object内所有的方法都默认在main函数里,作为执行的开始。
object HelloWorld extends App {
println("Hello, world!")
}
http://www.scala-lang.org/api/current/scala/App.html
五、脚步运行
#!/usr/bin/env scala
object HelloWorld extends App {
println("Hello, world!")
}
HelloWorld.main(args)
sun-3:scalaDocumentLearn sun$ ./script.sh
-bash: ./script.sh: Permission denied
sun-3:scalaDocumentLearn sun$ ls -l
total 16
-rw-r--r-- 1 sun staff 94 2 15 09:27 HelloWorld.scala
drwxr-xr-x 4 sun staff 136 2 15 09:29 classes
-rw-r--r-- 1 sun staff 106 2 15 09:50 script.sh
sun-3:scalaDocumentLearn sun$ chmod +x script.sh
sun-3:scalaDocumentLearn sun$ ls -l
total 16
-rw-r--r-- 1 sun staff 94 2 15 09:27 HelloWorld.scala
drwxr-xr-x 4 sun staff 136 2 15 09:29 classes
-rwxr-xr-x 1 sun staff 106 2 15 09:50 script.sh
sun-3:scalaDocumentLearn sun$ ./script.sh
Hello, world!