3.5 第三章小结

来源:互联网 发布:免费手机视频制作软件 编辑:程序博客网 时间:2024/06/11 23:42

3.5 第三章小结

 

在这一章,我们通过实践探讨了基本的函数结构和技术。首先,用 let 绑定声明值和函数,知道了 F# 能够使必须的概念数量最小化,从严谨的数学观点来看,不可变值就是不带参数的函数。

接下来,我们讨论了函数语言中最简单的不可变数据结构:元组,演示了不可变数据结构的用法。用不可变数据结构进行计算时,不能修改已有的实例,但可以复制原始值创建一个新的实例,用新计算的值替换那些[原始值]。另一个重要的不可变数据类型是列表。处理列表有助于我们理解递归,包括用列表创建另外的列表,以及用模式匹配递归地处理列表。

无论何时要在列表上执行的操作,都要写同样的递归处理,很不方便,因此,我们需要一种机制,能够使代码更通用,可以用于更广范围的类似情况。在上一章,我们把这种机制称为高阶函数。即,函数可以简单地被参数化,作为参数提供给另一个函数。

这一章是作为最重要的函数技术的预览,形式上尽量简化,其中的大多数可用 C# 很好地实现。我们对函数编程有了一些直观感受以后,就需要更详细地了解 F# 语言和工具,才能更好地发挥其作用,并尝试自己写代码。

本章的示例仅是一个概览,在本书后面还会经常提到这些概念。其他常见的函数数据类型将在第五章讨论,在第六章主要讨论用高阶函数处理这些类型;在这两章,我们还将看到为使代码更通用,既要使用泛型类型,也要使用泛型函数。

0 0