Scala编程(第5版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

7.9 结语

Scala内建的控制结构很小,但能解决问题。内建的控制结构与指令式的控制结构类似,但由于有返回值,它也支持更函数式的编程风格。同样重要的是,它很用心地省去了一些内容,让Scala最强大的功能特性之一,即函数字面量,得以发挥威力。下一章将详细介绍函数字面量。

[1]示例7.4中的gcd函数使用了与示例6.3中类似命名的、用于帮助Rational参数计算最大公约数的函数相同的算法,主要区别在于,示例7.4的gcd函数针对的是Long类型的参数而不是Int类型的参数。

[2]译者注:意思是寻求不需要使用while循环的方案。

[3]准确地说,在for表达式的<-符号右侧的表达式可以是任何拥有某些特定的带有正确签名的方法(如本例中的foreach)的类型。第2章详细介绍过Scala编译器对for表达式的处理机制。

[4]译者注:不是默认和推荐的做法。

[5]虽然我们必须用括号将catch子句中的case语句括起来,但是try-finally子句并没有这个要求。当只有一个表达式时,花括号或缩进并不是必需的,比如:try t() catch { case e: Exception => ... } finally f()。

[6]示例7.18的printMultiTable函数是以指令式编程风格编写的,将在下一节被重构成函数式编程风格。