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

  • 相关阅读:
    python2
    python1
    jmeter基础使用
    LoadRuuner资源监控
    UI自动化
    MYSQL增删改查添加外键
    DW网页代码笔记
    Linux常用命令(常用)
    Linux常用命令大全(全全全!!!)
    第十二章 : shell 环境
  • 原文地址:https://www.cnblogs.com/unqiang/p/3081951.html
Copyright © 2011-2022 走看看