函数式编程中具有普遍意义的3个基本构造单元

来源:互联网 发布:淘宝问大家回答删除 编辑:程序博客网 时间:2024/05/22 06:12

在函数式编程中,有3个常用的基本构造单元。分别是筛选、映射和折叠/化约。下面依次简单概述下,作为学习《函数式编程思维》一书的小小笔记。

一 筛选

筛选(filter)是针对列表的一种过滤操作,筛选出负荷用户自定义条件的条目,并由此产生一个新的列表。因此,新的列表的元素个数会小于等于原列表的元素个数。
可以类比:筛选类似于使用“SELECT”的 SQL语句从数据库中得到符合指定条件的数据。而函数式编程中,使用filter来产生一个子集合。

二 映射

映射(map)操作是对原集合的每一个元素执行给定的函数,用执行后的元素值组成新的集合。在Groovy语言中,相应的函数叫做collect()。

三 折叠/化约

在需要把集合一小块一小块地来处理时,可以使用 reduce和fold操作。
reduce 函数一般在需要设置累积量为某初始值的时候使用,而fold操作初期的累积量是空的。常用在需要从一个集合处理产生另一个大小不同(通常较小但不一定)的集合或单一值的情况。

函数式编程,主要以参数的传递函数的复合为主要表现手段,无需掌握太多作为“不确定因素”存在的其他语言构造之间的交互规则。
限于时间,本篇没有摘抄代码示例,仅作理论知识小记。

阅读全文
0 0
原创粉丝点击