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]).
[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]).
相关文章推荐
- firefox ie 比较 relative path
- 使用cglib动态创建类,添加方法
- Linux中启动和停止jar包的运行
- java内存回收机制
- 魔法少女小圆叛逆的物语
- Cognos定时Email发送报表数据功能
- Builder 模式
- css3旋转小三角
- hadoop平台搭建-多节点详细教程
- java jdk7学习笔记:InputStream与OutputStream
- 关于QT 中 QDialog的几点疑问的解答
- 异度世界观的设定
- Arduino初初教程6——串口的使用
- Photoshop如何设计复古个性的花纹印章图文教程
- 国庆节喜庆特效合集flash素材
- 如何给自己创造一个快乐的工作环境
- apache 开启 rewrite 重写规则 .
- 2014年4月份第4周51Aspx源码发布详情
- quick-cocos2dx CCHTTPRequest 使用
- HDU1280整数hash