intersect_with(Combiner, Map1, Map2) -> Map3
OTP 24.0
類型:
Map1 = #{Key => Value1}
Map2 = #{term() => Value2}
Combiner = fun((Key, Value1, Value2) -> CombineResult)
Map3 = #{Key => CombineResult}
將兩個Map相交成一個Map Map3
。如果兩個映射中都存在某個鍵,則 Map1
中的值將通過 Combiner
fun 與 Map2
中的值組合。當應用 Combiner
時,兩個映射中都存在的鍵是第一個參數,Map1
中的值是第二個參數,Map2
中的值是第三個參數。
如果 Map1
或 Map2
不是映射,則調用失敗並出現 {badmap,Map}
異常。如果 Combiner
不是帶有三個參數的 fun,則調用失敗並出現 badarg
異常。
例子:
> Map1 = #{a => "value_one", b => "value_two"},
Map2 = #{a => 1, c => 2},
maps:intersect_with(fun(_Key, Value1, Value2) -> {Value1, Value2} end, Map1, Map2).
#{a => {"value_one",1}}
相關用法
- erlang intersect(Map1, Map2)用法及代碼示例
- erlang intersection_of_family(Family)用法及代碼示例
- erlang integer_to_binary(Integer)用法及代碼示例
- erlang integer_to_binary(Integer, Base)用法及代碼示例
- erlang integer_to_list(Integer)用法及代碼示例
- erlang integer_to_list(Integer, Base)用法及代碼示例
- erlang init(UserData :: user_data(), AccessMode :: write | read, Fun :: file_op())用法及代碼示例
- erlang insert_element(Index, Tuple1, Term)用法及代碼示例
- erlang in(Item, Q1 :: queue(Item))用法及代碼示例
- erlang in_r(Item, Q1 :: queue(Item))用法及代碼示例
- erlang init(Q1 :: queue(Item))用法及代碼示例
- erlang init_ack(Ret)用法及代碼示例
- erlang info()用法及代碼示例
- erlang info_lib()用法及代碼示例
- erlang inflateChunk(Z, Data)用法及代碼示例
- erlang inflateSetDictionary(Z, Dictionary)用法及代碼示例
- erlang info_msg(Format)用法及代碼示例
- erlang info_report(Report)用法及代碼示例
- erlang inspect(MP, Item)用法及代碼示例
- erlang inverse(Function1)用法及代碼示例
- erlang inverse_image(BinRel, Set1)用法及代碼示例
- erlang info(QH)用法及代碼示例
- erlang is_file用法及代碼示例
- erlang is_dir用法及代碼示例
- erlang is_atom用法及代碼示例
注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 intersect_with(Combiner, Map1, Map2) -> Map3。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。