Scala开发教程(19): 函数–头等公民

jerry Scala
Scala中函数为头等公民,你不仅可以定义一个函数然后调用它,而且你可以写一个未命名的函数字面量,然后可以把它当成一个值传递到其它函数或是赋值给其它变量。下面的例子为一个简单的函数字面量(参考整数字面量,3

Scala开发教程(18): 函数–局部函数

jerry Scala
上个例子中ProcessFile使用了一个非常重要的设计原则?应用程序可以分解成多个小的函数,每个小的函数完成一个定义完好的功能。使用这程序设计风格可以使得程序员有相当数量的程序构造模块,通过这些小的构造模块的组

Scala开发教程(17): 函数-类成员函数

jerry Scala
当程序越来越大,你需要将代码细化为小的容易管理的模块。Scala支持多种方法来细化程序代码,这些方法也为有经验的程序员已经掌握的:使用函数,和Java相比,Scala提供了多种Java不支持的方法来定义函数,除了类成员

Scala开发教程(16): 没有“break”和“continue”的日子

jerry Scala
你也许注意到到目前为止,我们介绍Scala的内置的控制结构时,没有提到使用break,和continue。Scala特地没有在内置控制结构中包含break和continue是因为这两个控制结构和函数字面量有点格格不入,函数字面量我们将在

Scala开发教程(15): Match表达式

jerry Scala
Scala的Match表达式支持从多个选择中选取其一,类似其它语言中的switch语句。通常来说,Scala的matc表达式支持任意的匹配模式,这种基本模式将在后面介绍,本篇介绍类似switch用法的match表达式,也是在多个选项中选

Scala开发教程(14): try表达式处理异常

jerry Scala
Scala的异常处理和其它语言比如Java类似,一个方法可以通过抛出异常的方法而不返回值的方式终止相关代码的运行。调用函数可以捕获这个异常作出相应的处理或者直接退出,在这种情况下,异常会传递给调用函数的调用者

Scala开发教程(13): for 表达式

jerry Scala
Scala中的for表达式有如一把完成迭代任务的瑞士军刀,它允许你使用一些简单的部件以不同的方法组合可以完成许多复杂的迭代任务。简单的应用比如枚举一个整数列表,较复杂的应用可以同时枚举多个不同类型的列表,根据

Scala开发教程(12): while 循环

jerry Scala
Scala的while循环和其它语言如Java功能一样,它含有一个条件,和一个循环体,只有条件满足,就一直执行循环体的代码。比如下面的计算最大公倍数的一个实现: def gcdLoop (x: Long, y:Long) : Long ={ var a=x

Scala开发教程(11): if 表达式

jerry Scala
和其它语言(比如Java,C#)相比,Scala只内置了为数不多的几种程序控制语句:if ,while, for ,try match 以及函数调用,这是因为从Scala诞生开始就包含了函数字面量,Scala内核没有定义过多的控制结构,而是可以通过

Scala开发教程(10): 类和对象 (五)

jerry Scala
定义运算符 本篇还将接着上篇Rational类,我们使用add定义两个Rational对象的加法。两个Rational加法可以写成 x.add(y)或者 x add y 即使使用x add y 还是没有 x + y 来得简洁。 我们前面说过在Scala中运算符(操作