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

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

一 筛选

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

二 映射

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

三 折叠/化约

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值