Elixir语言中 Keyword.merge
相关用法介绍如下。
用法一
merge(keywords1, keywords2)
@spec merge(t(), t()) :: t()
将两个关键字列表合并为一个。
将 keywords2
中给定的所有键(包括重复键)添加到 keywords1
,覆盖任何现有键。
不保证返回关键字中键的顺序。
例子
iex> Keyword.merge([a: 1, b: 2], [a: 3, d: 4])
[b: 2, a: 3, d: 4]
iex> Keyword.merge([a: 1, b: 2], [a: 3, d: 4, a: 5])
[b: 2, a: 3, d: 4, a: 5]
iex> Keyword.merge([a: 1], [2, 3])
** (ArgumentError) expected a keyword list as the second argument, got: [2, 3]
用法二
merge(keywords1, keywords2, fun)
@spec merge(t(), t(), (key(), value(), value() -> value())) :: t()
将两个关键字列表合并为一个。
将 keywords2
中给出的所有键(包括重复键)添加到 keywords1
。调用给定的函数来解决冲突。
如果 keywords2
有重复的键,它会为 keywords1
中的每个匹配对调用给定的函数。
不保证返回关键字中键的顺序。
例子
iex> Keyword.merge([a: 1, b: 2], [a: 3, d: 4], fn _k, v1, v2 ->
...> v1 + v2
...> end)
[b: 2, a: 4, d: 4]
iex> Keyword.merge([a: 1, b: 2], [a: 3, d: 4, a: 5], fn :a, v1, v2 ->
...> v1 + v2
...> end)
[b: 2, a: 4, d: 4, a: 5]
iex> Keyword.merge([a: 1, b: 2, a: 3], [a: 3, d: 4, a: 5], fn :a, v1, v2 ->
...> v1 + v2
...> end)
[b: 2, a: 4, d: 4, a: 8]
iex> Keyword.merge([a: 1, b: 2], [:a, :b], fn :a, v1, v2 ->
...> v1 + v2
...> end)
** (ArgumentError) expected a keyword list as the second argument, got: [:a, :b]
相关用法
- Elixir Keyword.get用法及代码示例
- Elixir Keyword.validate用法及代码示例
- Elixir Keyword.get_and_update用法及代码示例
- Elixir Keyword.get_and_update!用法及代码示例
- Elixir Keyword.pop_first用法及代码示例
- Elixir Keyword.get_values用法及代码示例
- Elixir Keyword.replace用法及代码示例
- Elixir Keyword.fetch用法及代码示例
- Elixir Keyword.split用法及代码示例
- Elixir Keyword.put_new用法及代码示例
- Elixir Keyword.pop_values用法及代码示例
- Elixir Keyword.drop用法及代码示例
- Elixir Keyword.keyword?用法及代码示例
- Elixir Keyword.pop_lazy用法及代码示例
- Elixir Keyword.to_list用法及代码示例
- Elixir Keyword.put用法及代码示例
- Elixir Keyword.get_lazy用法及代码示例
- Elixir Keyword.values用法及代码示例
- Elixir Keyword.filter用法及代码示例
- Elixir Keyword.has_key?用法及代码示例
- Elixir Keyword.replace!用法及代码示例
- Elixir Keyword.delete用法及代码示例
- Elixir Keyword.take用法及代码示例
- Elixir Keyword.delete_first用法及代码示例
- Elixir Keyword.fetch!用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Keyword.merge(keywords1, keywords2)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。