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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值