控制抽象
摘要:控制抽象 所有的函数都可以被分成通用部分,以及非通用部分,这将导致代码存在大量的冗余。 代码1-1 代码1-1中,fileEnding和fileContains两个方法,一个是查询以query结尾的,一个是查询包含query的,虽然功能不同,但代码大部分却相同,随着功能的增加,冗余的代码将会越来越多
阅读全文
posted @
2017-04-29 20:49
百里琰
阅读(381)
推荐(0)
函数和闭包
摘要:函数和闭包 Scala的函数式头等函数,你不仅可以定义和调用函数,还可以把它们写成匿名的字面量,并把它们作为值传递。Scala函数字面量的语法:(x: Int, y: Int) => x + y。函数字面量被编译进类,并在运行期实例化为函数值。因此,函数字面量和函数值的区别在于函数字面量存在于源代码
阅读全文
posted @
2017-04-28 21:35
百里琰
阅读(306)
推荐(0)
函数式对象
摘要:函数式对象 本文的重点在于定义函数式对象,也就是说,不具备任何可变状态的对象的类。不可变对象提供了若干强于可变对象的优点和一个潜在的缺点: 优点: 首先,不可变对象常常比可变对象更易理清头绪,因为它们的内部状态不因时间的变化而变化。 其次,当你把可变对象传递给其他方法或函数时,可能在执行代码的过程中
阅读全文
posted @
2017-04-27 21:25
百里琰
阅读(441)
推荐(0)