Elixir语言中 Keyword.get_and_update
相关用法介绍如下。
用法:
get_and_update(keywords, key, fun)
@spec get_and_update(
t(),
key(),
(value() | nil -> {current_value, new_value :: value()} | :pop)
) ::
{current_value, new_keywords :: t()}
when current_value: value()
从 key
获取值并更新它,一次完成。
fun
参数接收 key
的值(或 nil
如果 key
不存在)并且必须返回一个二元组:当前值(检索到的值,可以在返回之前对其进行操作) ) 以及要存储在 key
下的新值。 fun
也可能返回 :pop
,这意味着当前值应从关键字列表中删除并返回。
返回一个元组,其中包含 fun
返回的当前值和 key
下具有更新值的新关键字列表。
例子
iex> Keyword.get_and_update([a: 1], :a, fn current_value ->
...> {current_value, "new value!"}
...> end)
{1, [a: "new value!"]}
iex> Keyword.get_and_update([a: 1], :b, fn current_value ->
...> {current_value, "new value!"}
...> end)
{nil, [b: "new value!", a: 1]}
iex> Keyword.get_and_update([a: 2], :a, fn number ->
...> {2 * number, 3 * number}
...> end)
{4, [a: 6]}
iex> Keyword.get_and_update([a: 1], :a, fn _ -> :pop end)
{1, []}
iex> Keyword.get_and_update([a: 1], :b, fn _ -> :pop end)
{nil, [a: 1]}
相关用法
- Elixir Keyword.get_and_update!用法及代码示例
- Elixir Keyword.get_values用法及代码示例
- Elixir Keyword.get_lazy用法及代码示例
- Elixir Keyword.get用法及代码示例
- Elixir Keyword.validate用法及代码示例
- Elixir Keyword.pop_first用法及代码示例
- 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.merge用法及代码示例
- Elixir Keyword.put用法及代码示例
- 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.get_and_update(keywords, key, fun)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。