第六章使用高阶函数处理值
本章介绍
■使用元组选项和列表
■为类型写高阶函数
■在 F# 中使用自动泛型化
■组合函数与散应用
在前面一章,我们介绍了最常用的函数值,知道了如何构造这些值,如何使用模式匹配进行处理。像这样显式表示所有逻辑可能有点啰嗦,特别是如果类型具有复杂结构。
由一个或几个简单值组成的复合值的类型,有前一章介绍的元组和选项,和第三章介绍的列表。一般情况下,元组由几种类型的值组成,每个类型只包含一个值;选项可以包含零或一个值;列表包含任意有限的元素。当处理这些组合值时,经常要将某个操作应用于基础值(underlying values)。应用操作之后,执行递归和样板化的任务,分解组合值的组件,并重新构建。
在本章,我们将学习以更容易的方式处理值。写出的函数能够抽象值的基础结构,能够对值的某个部分执行特定操作,实现简单的参数化。我们会看到,这些方法比显式使用匹配模式更简洁。
我们将首先从技术角度看看高阶函数和泛型函数,为讨论处理值提供背景;然后,讨论对到目前为止所有的值进行函数处理,并探讨不同种类值的处理函数之间的关系。