7.4 写操作
处理文档,可能有多种操作;我们可以把文档中的所有标题改成大写,或者,把多列文本合并到一个列。可以发现,所有这些操作有一些共同之处,它们与前一章的映射操作之间有相似性;如同映射一样,每个操作都对文档进行检查,再对特定部分执行某种转换,最后,返回新的文档。
另一种操作可能只返回一个不同类型的值,比如,可以实现这样的函数,统计文档中的字数,或将文档的全部文本作为字符串都返回。这听起来应该很熟悉:6.7.3 节的 fold 函数就实现同样的功能,但它处理的是列表而不是文档。
正如我们在前一章学习的,为每个操作写单独的函数,是不切实际的,如果写高阶函数,实现不同目的的重用,效果更好。我们将首先实现第一段讨论的函数:映射操作。
原文地址:http://blog.csdn.net/hadstj/article/details/41516157