搭建 Scala 2.11.8 开发环境

Scala 是一门多范式的编程语言, 类似于 Java. 设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性.

安装

截止目前, 官方发布的最新版本为 2.12.4, 不过, 我们计划学习的是 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 查看.

编译执行

如果使用普通的编辑器, 在把代码保存为 HelloWorld.scala 之后, 可以在命令行使用 scalac 和 scala (类似于 javac 和 java) 来编译执行 Scala 代码.

用文本编辑器 (强烈推荐 Sublime) 将前文提到的 HelloWorld 代码, 保存为 HelloWorld.scala 文件, 然后在终端编译执行.

$ /opt/scala-2.11.8/bin/scalac HelloWorld.scala
$ /opt/scala-2.11.8/bin/scala HelloWorld
Hello world!

注意, 使用 scala 来运行应用时, 无需再调用 HelloWorld.main(null), Scala 会自动执行指定类的 main 方法.

你也可以把 Scala 代码作为脚本语言来运行, 如下所示, 本质上这是上面两条命令的简写方式.

$ /opt/scala-2.11.8/bin/scala HelloWorld.scala
Hello world!

配置环境变量

在前面每次执行 scalacscala 命令, 都要带上相应的路径, 这样是不是太麻烦了, 我们可以模仿 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