7.4 写操作
可能有多种操作我们来处理文档。我们可以使文档中的所有标题大写,或者,把多列文本合并到一个列。所有这些操作有一些共同之处,你可能会看到它们与前一章中的映射操作之间的相似性。就像映射一样,这些操作的每个都对文档进行检查,对特定部件执行一些转换,并返回一个新的文档。
另一种操作可能只返回一个不同类型的值。我们可以实现一个函数,统计文档中的字数,或将文档的全部文本作为字符串都返回。这听起来应该熟悉:6.7.3 节的 fold 函数就完成同样的工作,但它是处理列表而不是文档。
正如你在前一章中学习的,为每个操作写一个单独的函数,是不切实际的,如果我们写了一个高阶函数,可以获得更好的结果,可以为不同目的而重用。我们将开始实现在第一段中讨论的函数:让人想起的映射操作。