结语

在本章中,你学到了Scala的基础知识,同时,我们也鼓励你利用这个机会试着编写了一些Scala代码。在下一章,我们将继续进行Scala入门介绍,对一些更高级的主题进行讲解。

[1]本书所有代码都经过Scala 3.0.0的测试。

[2]Scala解释器REPL是英文Read(读取)、Evaluate(求值)、Print(打印)、Loop(循环)的首字母缩写。

[3]如果你用的是Windows,则需要在名称为“Command Prompt”(命令提示符)的DOS窗口中输入scala命令。

[4]如果你对Java包不熟悉,则可以把它看作提供了类的完整名称。由于Int是scala包的成员,“Int”是这个类的简单名称,而“scala.Int”是它的完整名称。关于包的细节,在第12章会有介绍。

[5]java.lang.String的简称是String。

[6]不过在解释器中,我们可以用之前已经使用过的名称来定义新的val。这个机制在7.7节会有详细介绍。

[7]在Java中,从某个方法返回的值的类型就是该方法的返回类型。在Scala中,同样的概念被称作结果类型。

[8]如果函数会调用到自己,这样的函数就是递归的。

[9]尽管如此,显式地给出函数的结果类型通常是好的做法,虽然编译器并不强制要求。这种类型标注让代码更易读,因为这样一来,阅读代码的人就不需要通过查看函数体来获知编译器推断出来的结果类型是什么。

[10]有关重复参数的详细介绍参见第8.8节。

[11]这个简写规则用到的特性叫作部分应用的函数(partially applied function),在8.6节会有详细介绍。

[12]可以把<-符号念作“里的”(in),所以for (arg <- args) do读起来就像这样:对args里的arg(for arg in args)执行(do)……