您的位置:首页 > 其它

Erlang笔记(09) - 列表解析

2014-04-28 14:53 253 查看
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]).
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: