Erlang笔记(09) - 列表解析

1. 列表解析格式

  • [F(X) || X <- L ]
    • 表示:由 F(X) 组成的列表,其中 X 是取值来源于列表 L (F 是某个功能函数)
  • [X || Qualifier1, Qualifier2, ...]
    • X可以是任意一个表达式,每个限定词 (Qualifier) 可以使一个生成器或者是一个过滤器
      • 生成器通常写为 Pattern <- ListExpr, 其中 ListEpr 必须是一个队列表项求职的表达式
      • 过滤器可以使一个谓词 (返回true或者false的函数),也可以是一个布尔表达式

2. 举例

  • L = [1, 2, 3, 4].
    • [2*X | X <-L ].  % 列表 L 中每个元素 X 乘以 2 得到的列表
  • [{Name, 2*Number} || {Name, Number} <- Buy ].
    • 对列表 Buy 中每个元祖中 Number 的值 乘以2
  • 快速排序
    • sort([]) -> [];    
    • sort([Pivot|T]) -> sort([X || X <-T, X<Pivot]) ++ [Pivot] ++ sort([X || X <-T, X>=Pivot]).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值