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