有件你会注意到的事情是,几乎所有的 Scala 的控制结构都会产生某个值.这是函数式语言所采用的方式,程序被看成是计算值的活动,因此程序的控件也应当这么做.你也可以把这种方式看做早已存在于指令式语言中的一种趋势(函数调用返回值,被调用函数更新被当作参数传入的输出变量也归于此类)的逻辑推演.另外,指令式语言经常具有三元操作符(如 C,C++和 Java的 ?: 操作符),表现得就像 if ,却产生值. Scala 采用了这种三元操作符模型,但是把它称为 if .换句话说, Scala 的 if 可…