刚开始学习 Scala 时,有一个很大的疑问,就是在 Scala 的官方下载页面(https://www.scala-lang.org/download/),仅仅提示用户可以通过 INTELLJ 或 sbt 来管理和编译 Scala 项目,并没有直接提供 Scala 运行环境的下载。但是对于初学者用户来说,其实最需要的是一个交互式编程环境( REPL 1 ),可以直接拿来就跑教程上的示例语句,而不是一个项目管理系统。然后在下载页面发现了下面这段话:
Compared to other programming languages, installing Scala is a bit unusual. Scala is unusual because it is usually installed for each of your Scala projects rather than being installed system-wide. Both of the above options manage (via sbt) a specific Scala version per Scala project you create.
意思是说 Scala 不像其他大多数语言那样有一个统一的,全系统可见的解释器或者编译器,而是利用 sbt 这样的项目管理工具,在每个项目内部有一个自己的编译和解释器。
通过查阅资料,了解到最便捷的使用 Scala REPL 的方法,是运行 sbt 命令,进入 sbt 运行时环境,然后再在 sbt 运行时环境中运行 consoleQuick,就会有 Scala 的 REPL 提示符出来,这时就可以使用 Scala REPL 了。详细命令及输出见下:
localhost:~ klcola$ sbt
[info] Loading project definition from /Users/klcola/project
[info] Set current project to klcola (in build file:/Users/klcola/)
[info] sbt server started at local:///Users/klcola/.sbt/1.0/server/d474a267f805a7be3144/sock
sbt:klcola> consoleQuick
[info] Updating ...
[info] Done updating.
[info] Starting scala interpreter...
Welcome to Scala 2.12.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_171).
Type in expressions for evaluation. Or try :help.
scala> def helloworld(): String = {
| return "Hello, World!"
| }
helloworld: ()String
scala> println(helloworld())
Hello, World!
scala>
如果你还想知道如何在 Linux 下面安装 sbt,请参考 sbt 的 官方文档
对 Ubuntu 用户来说,安装相对比较简单,可参见下面的命令行
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
sudo apt-get update
sudo apt-get install sbt
附注:
- REPL,交互式编程环境,又叫交互式解释器,是 R(read)、E(evaluate)、P(print)、L(loop) 四个单词的首字母缩写。