what is the BIF to remove an item from a list

2019-09-25 03:17发布

问题:

What is the BIF to remove an item from a list?

回答1:

NewList = CurrentList -- Element when Element is a list

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



回答2:

If you want to remove a given element, it is lists:delete/2 (which is not a BIF).

If you want to remove an element at a given position, you can do something like:

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

If you want to remove all occurences, then:

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


标签: erlang