1、消重算法:
1> List = [1,2,3,1,2,4].
[1,2,3,1,2,4]
2> sets:to_list(sets:from_list(List)).
[3,2,1,4]
2、排序算法:
3>lists:sort(List).
[1,1,2,2,3,4]
根据某一元素排序
4>rd(app{id,date,pkg_name,appname,version,user_num,new_user_num,used_num,los,sum_user}).
app
5> Sort = fun (A,B)-> A#app.date =< B#app.date end.
#Fun<erl_eval.12.113037538>
6> lists:sort(Sort, D).%按记录中的date字段进行排列
[#app{
id = {app_id,{2010,7,1},<<"Packagename">>},
date = {2010,7,1},
pkg_name = <<"Packagename">>,appname = <<"Appname">>,
version = <<"Version">>,user_num = 1,new_user_num = 1,
used_num = 1,los = 7223,sum_user = 2}... ...
3、排序+消重算法:
7> ordsets:from_list(List).
[1,2,3,4]
foldl(Fun(Elem, AccIn), Acc0, List) -> Acc1 %%AccIn初使为Acc0, Elem是List中的值,把List中的所有值都执行函数一次得到列表
lists:foldl(fun(Key, Acc) ->[proplists:get_value(Key, Options) | Acc] end, [], lists:reverse([pool_id, hostname, port, username,password,database, logfun, encoding, poolsize]))
注:这儿的Options="[{hostname,"localhost"}, {username, "root"}, {password,"sa"}, {database, "test"}]"
结果为[undefine,"localhost", undefine,"root","sa","test", undefine, undefine, undefine]
4.whereis ,检测进程是否存在。
5.process_flag(trap_exit, true)来将一个正常的进程转换为一个可以trap exits的系统进程.
分享到:
相关推荐
标签“FP Erlang 函数式编程”进一步强调了本书的主题,即围绕Erlang函数式编程语言展开。函数式编程是一种编程范式,它将计算视作数学函数的评估,并避免改变状态和可变数据。Erlang语言特别适合并发和分布式计算,...
Erlang函数调用新语法 - **概念**: R12B版本引入的新函数调用语法。 - **优点**: 更易于理解和维护。 - **应用场景**: 代码的热替换场景。 #### 21. Erlang消息监听器调试 - **工具**: `erl_snooper`。 - **功能**...
3. **Erlang数据类型和API**:介绍CNode API,包括如何在C中表示和操作Erlang的数据类型(如整数、原子、列表等),以及如何调用Erlang函数和处理返回结果。 4. **进程通信**:阐述如何在CNode中创建Erlang进程,...
在Erlang mode中,还可以进行一些其他的配置,例如设置Erlang shell的节点名、添加Erlang函数到imenu菜单等。 readers可以根据需要进行相应的配置。 搭建Erlang开发环境需要安装Erlang OTP、Emacs W32、Distel等...
- **查询执行**:执行SQL查询通常是通过调用特定的Erlang函数,传入SQL语句和可能的参数。返回的结果可以是记录集,也可以是受影响的行数。 - **事务处理**:Erlang MySQL库支持事务操作,允许你在一组操作中实现...
在Erlang OTP的Gen_Fsm中,这种转换通常由一系列Erlang函数来定义,这些函数作为回调函数实现状态机的逻辑。 例如,一个简单的密码锁可以被建模为一个FSM。初始状态是锁定的,每次按钮被按下都会产生一个事件。根据...
NIFs的调用速度比普通的Erlang函数快得多,因为它们绕过了Erlang VM的大部分开销。 使用`erl_nif`扩展Erlang的步骤通常包括以下几个阶段: 1. **编写C代码**:首先,你需要编写一个C库,包含要作为NIF公开的函数。...
匹配规格类似于Erlang中的小型函数,但由Erlang运行时系统解释或编译成更高效的形式,而非调用Erlang函数。相对于真正的Erlang函数,匹配规格的功能较为有限。 ##### 2.2 匹配规格的结构 匹配规格通常包含两部分:...
2. Erlang-Java桥接库:为了方便Java与Erlang的交互,可能存在使用如Jinterface这样的库,它允许Java程序直接调用Erlang函数,或者通过Erlang的Port机制进行通信。 总结,这个项目展示了如何利用Erlang强大的并发和...
书中阐述了erl_call的强大功能,如调用Erlang函数、发送和接收消息。 8. **inet:setopts的未公开选项**:Erlang的inet模块提供了网络通信的接口,书中揭示了不常被使用的setopts选项,这些选项可能对网络性能和可靠...
ECG是E rlang函数C的所有图G enerator,其自动绘制函数调用和处理程序派生。 ECG利用Erlang强大的跟踪机制和可视化工具graphviz ,确保已安装graphviz ,并且由于此处使用Python绑定,因此还需要安装Digraph软件包。...
CNode允许Erlang和C之间进行通信,包括消息传递、调用Erlang函数、接收Erlang数据类型等。这为需要高性能计算或利用现有C库的Erlang应用提供了便利。 **CNode的实现** 创建CNode首先需要编写一个Erlang接口模块,...
### 思维转换:从过程式到Erlang函数式编程 #### 引言 《思维转换:在Erlang中的函数式编程》是一本专为有经验的过程式开发人员编写的指南,旨在帮助他们过渡到Erlang这门独特的函数式编程语言。本书由罗伯特·...
Erlang 是一种高效、轻量级且适合并发编程的函数式编程语言,常用于构建分布式系统。在给定的“erlCnpj”项目中,我们关注的是一个专门用于验证巴西联邦税号(CNPJ)有效性的功能模块。CNPJ(Cadastro Nacional da ...
Erlang 二进制模式匹配是它最好的特性之一,也是它最简洁的语法,那么为什么不将它也应用于函数保护呢? 鉴于此功能: my_func ( Value ) when is_binary ( Value ) -> Value . 可以简化为: my_func ( Value / ...
Erlang是一种函数式编程语言,由爱立信在1986年开发,主要用于构建高可用性、容错性和并发性的分布式系统。"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心...
乐趣提供跨多个节点的可移植功能对象和代码加载的库__可移植函数__的缩写概述目标是解决常规 Erlang 函数对象的以下问题:无法跨多个代码加载生存如果一个函数对象所属的模块被更新两次,持有该对象的进程就会崩溃以...
Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。这个“erlang资源”包含两本PDF书籍——《Erlang并发编程》和《Erlang入门手册》,它们是深入...