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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。