Erlang学习02

fun

fun:基本的抽象单元,在Erlang 中用于代表函数的数据类型被称为fun。
标准库里的lists模块导出了一些以fun作为参数的函数。它们之中最有用的是lists:map(F, L)。这个函数返回的是一个列表,它通过给列表L里的各个元素应用fun F生成。
另一个有用的函数是lists:filter(P, L),它返回一个新的列表,内含L中所有符合条件的元素

9> L=[1,2,3,4].
[1,2,3,4]
10> lists:map(fun(X) -> 2*X end,L).
[2,4,6,8]

11> Even=fun(X) ->(X rem 2) =!= 0 end.
* 1: syntax error before: '!'
11> Even=fun(X) ->(X rem 2) =:= 0 end.
#Fun<erl_eval.6.118419387>
12> Even(3).
false
13> Even(2).
true
14> lists:map(Even,[1,2,3,4,5,6,8]).
[false,true,false,true,false,true,true]
15> lists:filter(Even,[1,2,3,4,5,6,8]).
[2,4,6,8]

map和filter等函数能在一次调用里对整个列表执行某种操作,我们把它们称为一次一列表 (list-at-a-time)式操作。使用一次一列表式操作让程序变得更小,而且易于理解。之所以易于理 解是因为我们可以把对整个列表的每一次操作看作程序的单个概念性步骤。否则,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值