Erlang中文手册(Erldoc.com)  »  lists  »  filter/2
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

lists:filter/2

选择符合满足断言条件的元素

用法:

filter(Predicate, List1) -> List2

内部实现:

 -spec filter(Pred, List1) -> List2 when
      Pred :: fun((Elem :: T) -> boolean()),
      List1 :: [T],
      List2 :: [T],
      T :: term().

filter(Pred, List) when is_function(Pred, 1) ->
    [ E || E <- List, Pred(E) ].

列表 List1 里的每一个元素以参数的方式被断言函数 Predicate 调用,如果该元素在断言函数 Predicate 执行中返回的是 true,那么则留下,否则被丢弃,最终返回一个符合断言条件的元素的列表。

Predicate = fun(E) -> E rem 2 == 0 end, 
lists:filter(Predicate, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9