当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang filter(Pred, MapOrIter)用法及代码示例


filter(Pred, MapOrIter) -> Map
OTP 18.0
类型:
Pred = fun((Key, Value) -> boolean())
MapOrIter = #{Key => Value} | iterator(Key, Value)
Map = #{Key => Value}

返回一个映射 Map,其中谓词 PredMapOrIter 中成立。

如果 MapOrIter 不是映射或有效迭代器,则调用失败,并出现 {badmap,Map} 异常;如果 Pred 不是 arity 2 的函数,则调用失败,并出现 badarg 异常。

例子:

> M = #{a => 2, b => 3, c=> 4, "a" => 1, "b" => 2, "c" => 4},
  Pred = fun(K,V) -> is_atom(K) andalso (V rem 2) =:= 0 end,
  maps:filter(Pred,M).
#{a => 2,c => 4}

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 filter(Pred, MapOrIter) -> Map。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。