什么是从列表中删除项目的BIF

时间:2009-11-10 09:49:05

标签: erlang

从列表中删除项目的BIF是什么?

2 个答案:

答案 0 :(得分:9)

如果要删除给定元素,则为lists:delete/2(不是BIF)。

如果要删除给定位置的元素,可以执行以下操作:

del_nth_from_list(List, N) ->
  {L1, [_|L2]} = lists:split(N-1, List),
  L1 ++ L2.

如果要删除所有出现,请:

del_all_occurences(List, Elem) ->
  [E || E <- List, E =/= Elem].

答案 1 :(得分:7)

NewList = CurrentList -- Element是列表时

Element

e.g。 NewList = CurrentList -- [{some_element}]