當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。