Elixir語言中 Map.merge
相關用法介紹如下。
用法一
merge(map1, map2)
@spec merge(map(), map()) :: map()
將兩張Map合並為一張。
map2
中的所有鍵都將添加到 map1
中,覆蓋任何現有的鍵(即 map2
"have precedence" 中的鍵超過 map1
中的鍵)。
如果您有一個結構並且您想將一組鍵合並到結構中,請不要使用此函數,因為它會將右側的所有鍵合並到結構中,即使該鍵不是結構的一部分。相反,請使用
。Kernel.struct/2
由編譯器內聯。
例子
iex> Map.merge(%{a: 1, b: 2}, %{a: 3, d: 4})
%{a: 3, b: 2, d: 4}
用法二
merge(map1, map2, fun)
@spec merge(map(), map(), (key(), value(), value() -> value())) :: map()
將兩個映射合並為一個,通過給定的 fun
解決衝突。
map2
中的所有鍵都將添加到 map1
中。當有重複鍵時,將調用給定的函數;它的參數是key
(重複鍵)、value1
(map1
中key
的值)和value2
(map2
中key
的值)。 fun
返回的值用作結果映射中key
下的值。
例子
iex> Map.merge(%{a: 1, b: 2}, %{a: 3, d: 4}, fn _k, v1, v2 ->
...> v1 + v2
...> end)
%{a: 4, b: 2, d: 4}
相關用法
- Elixir Map.keys用法及代碼示例
- Elixir Map.values用法及代碼示例
- Elixir Map.update用法及代碼示例
- Elixir Map.split用法及代碼示例
- Elixir Map.put_new_lazy用法及代碼示例
- Elixir Map.drop用法及代碼示例
- Elixir Map.get用法及代碼示例
- Elixir Map.new用法及代碼示例
- Elixir Map.take用法及代碼示例
- Elixir Map.get_and_update!用法及代碼示例
- Elixir Map.has_key?用法及代碼示例
- Elixir Map.replace用法及代碼示例
- Elixir Map.update!用法及代碼示例
- Elixir Map.from_struct用法及代碼示例
- Elixir Map.reject用法及代碼示例
- Elixir Map.delete用法及代碼示例
- Elixir Map.to_list用法及代碼示例
- Elixir Map.equal?用法及代碼示例
- Elixir Map.fetch!用法及代碼示例
- Elixir Map.put用法及代碼示例
- Elixir Map.pop_lazy用法及代碼示例
- Elixir Map.filter用法及代碼示例
- Elixir Map.fetch用法及代碼示例
- Elixir Map.get_lazy用法及代碼示例
- Elixir Map.pop!用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Map.merge(map1, map2)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。