erlang常用函数

1、消重算法:

?
1
2
3
4
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、排序算法:

?
1
2
3 >lists :sort (List).
[ 1 , 1 , 2 , 2 , 3 , 4 ]

根据某一元素排序

?
1
2
3
4
5
6
7
8
9
10
11
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、排序+消重算法:

 

?
1
2
7 > ordsets :from_list (List).
[ 1 , 2 , 3 , 4 ]

4、

 

?
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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值