Scala 是一门多范式的编程语言, 类似于 Java. 设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性.
安装
截止目前, 官方发布的最新版本为 2.13.6, 不过, 我们计划学习的是 2.11.8 这个版本, 没有特别的原因, 只是因为最新版的 spark 2.2.1 依赖这个版本.
进入 Scala 2.11.8 下载页面, 向下滚动到 Other resources 的部分, 如下图所示.
根据自身系统下载相应的版本, 我这里就下载 scala-2.11.8.tgz.
将下载到的压缩文件, 移到 /opt
目录下, 然后解压缩即可.
cd /opt
tar -xkzvf scala-2.11.8.tgz
cd scala-2.11.8
在 scala-2.11.8
目录下, 有四个文件夹, bin
, doc
, lib
, man
, 其中 bin
存放 Scala 语言编译、执行所需的命令, lib
存放依赖 jar 包.
Scala Shell
只需要在终端中输入如下命令, 便可进入 Scala Shell:
/opt/scala-2.11.8/bin/scala
当看到 scala>
字样开始的命令行提示符时, 则说明已经进入 Scala 的 “交互式命令行环境”.
接下来, 我们在 Scala Shell 中体验每个编程语言开发教程都会有的应用 “Hello world!”.
object HelloWorld {
def main(args: Array[String]) {
println("Hello world!")
}
}
从上图可知, 我们先定义了一个 HelloWorld
对象, 然后执行它的 main
方法, 打印出了 Hello world!
字样.
如果你不想使用这种交换式运行方式, 你可以使用任何文本编辑器或是使用 IDE 来运行 Scala 代码. 输入 :quit
指令退出交互环境, 更多指令, 通过输入 :help
查看.
配置环境变量
在前面每次执行 scalac
和 scala
命令, 都要带上相应的路径, 这样是不是太麻烦了, 我们可以模仿 jdk 安装, 配置环境变量, 编辑 /etc/profile
文件, 在末尾追加以下两行配置内容.
export SCALA_HOME=/opt/scala-2.11.8
export PATH=$SCALA_HOME/bin:$PATH
执行命令 source /etc/profile
, 让配置生效. 接下来, 无论你在哪个路径下, 都可以执行 scala 相关命令.
$ scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL
编译执行
如果使用普通的编辑器, 在把代码保存为 HelloWorld.scala 之后, 可以在命令行使用 scalac 和 scala (类似于 javac 和 java) 来编译执行 Scala 代码.
用文本编辑器 (强烈推荐 Sublime) 将前文提到的 HelloWorld 代码, 保存为 HelloWorld.scala
文件, 然后在终端编译执行.
$ scalac HelloWorld.scala
$ scala HelloWorld
Hello world!
注意, 使用 scala 来运行应用时, 无需再调用 HelloWorld.main(null)
, Scala 会自动执行指定类的 main 方法.
你也可以把 Scala 代码作为脚本语言来运行, 如下所示, 本质上这是上面两条命令的简写方式.
$ scala HelloWorld.scala
Hello world!