6.9 第六章小结

来源:互联网 发布:加尔默罗修女知乎 编辑:程序博客网 时间:2024/06/06 01:27

6.9 第六章小结

 

    这一章连同第 5 章一起,讨论了函数值。正如我们在前一章看到的,对于控制程序流,值是重要的,我们能够以函数方式写代码,组合函数,取值作为参数,并返回值作为结果。在这一章中,我们看到更简便方法处理值的。不直接使用值的结构,使用一组在 F# 库中定义的高阶函数值。我们已经看它们是如何实现的,以及如何为我们自己的类型,以实现类似的功能。

    特别是,我们讨论了函数对值进行执行操作,这个值可以由标准 F# 类型携带,比如元组和选项类型,以及我们自己的为表示计划的类型。学习了如何使用函数组合,从两个函数构造一个新函数,看到所有这些功能是如何与偏应用与流运算符一起,能够来写优雅和可读性的代码,以处理值。

    最后,我们看了几个处理列表的函数,观察几个高阶函数之间对于不同类型的相似性。我们看到,映射操作可用于许多不同种类的值,绑定操作,对于选项类型,看起来类似于处理列表的集合函数。我们将在第 12 章讨论更多这方面的关系。

    当我们在第 5 章开始讨论使用值时,区分了本地值与程序数据(local values and program data)。在下一章中,我们就会把注意力转向程序数据,表示程序处理的关键信息。例如,这可能是一个矢量图形编辑器中的形状的结构,或在文本编辑器中文档。在这一章中,我们介绍了处理本地值方便的方法,我们将看到同样的思想,也可以用于处理程序数据。当我们讨论列表时,已经这个方向上迈出了一步朝,因为许多程序用记录的列表表示其数据。