zoukankan      html  css  js  c++  java
  • 如何快速删除list中的最后一个元素?

    (前言: 在项目中,在统计在线用户量及其行为方式的时候,想在项目如“/bob/recode/online”,结果发现:把写日志的东西放到了ebin文件下,即:/bob/ebin/report/online,于是,想着截取掉“ebin”,这样就可以达到在要求,即:”/bob/report/online“.)

         再回到题目上来,删除list中的最后一个元素,看下面:

     可以使用lists:sublist(L,1,length(L)-1).  

        1>lists:sublist("12345",1,length("12345")-1).

         "1234"

    2>L = [[12345],2,3].

      [[12345],2,3]

    3>lists:sublist(L,1,length(L)-1).

      [[12345],2]

    下面的三种方式都可以实现:删除list中的最后一个元素:

     1). LResult = lists:sublist(L,1,length(L)-1).

     2). {LResult,_} = lists:split(length(L)-1,L).

     3). LResult = lists:foldr(fun(E,first) —> [ ];(E,Acc)when is_list(Acc) —> [E | Acc] end.first,L).

     

    再回到项目上来,这样想删除后面的是最后一个还是倒数第几个就都可以实现了.

     

    PS:三下五除二,写完了,被老大说了,说是这么写,路径就在源文件中了.erl中了,而如果客户想改变存放路径则很难实现,因为源码是不给的。

     于是,又写了第二种写文件的方法。即:在配置文件中,yaws.conf中配置路径,然后在include文件夹下的.hrl头文件定义常量宏(define),通过头文件的导入,在.erl源文件下得以实现.

    这样,客户就可以通过配置文件xxx.conf来进行随意更改自己想要的路径,进行存放。因为配置文件是可以给客户的。心得:不要因为完成一个功能或者实现,就觉得万事大吉了,需要在项目的角度,在客户的角度进行换位思考,进行编码实现功能。

  • 相关阅读:
    本周学习小结(04/11
    学习笔记之知识图谱 (Knowledge Graph)
    本周学习小结(28/10
    本周学习小结(21/10
    条件分页 代替离线查询
    Apache POI 一键上传(导入excel文件到数据库)
    easyui 菜单按钮&提示框
    Jquery ztree树插件
    Jquery ztree树插件2
    ui
  • 原文地址:https://www.cnblogs.com/unqiang/p/3081951.html
Copyright © 2011-2022 走看看