《Scala 函数式编程》解题笔记——第一部分
考虑对每个练习都自己实现一波,尽量使用最纯的方式,即不仅函数本身是纯的,内部也不有任何局部的副作用(这在工程实践中肯定是不好的)
从我在第一次接触到 Haskell 中的 foldRight(foldr)起,我就对它十分好奇:foldRight 是如何能够处理无穷列表的?这个问题让我魂牵梦绕,我必须要得到一个合情合理的结果。
惰性求值的重要性在于,它能够使我们操作集合时在使用原有的高阶函数进行操作的基础上尽量保证性能,不用在操作过程中临时创建集合,从而能兼顾抽象性和性能。那么代价是什么呢?
学习 Spark 的键值对 RDD 时,对其的实现比较感兴趣——它是如何让特定类型的 RDD 拥有自己独有的方法的?于是就对此进行了一些了解,发现它的本质是比较浅显但又确实非常有趣的,现在做下笔记。