Elixir语言中 Access.get_and_update
相关用法介绍如下。
用法:
get_and_update(container, key, fun)
@spec get_and_update(
data,
key(),
(value() | nil -> {current_value, new_value :: value()} | :pop)
) ::
{current_value, new_data :: data}
when data: container(), current_value: var
获取并更新 container
中的给定键(映射、关键字列表、实现
行为的结构)。Access
fun
参数接收 key
的值(或 nil
如果 key
不存在于 container
中)并且必须返回一个二元素元组 {current_value, new_value}
:"get" 值 current_value
(检索到的值,可以在返回之前对其进行操作)和要存储在key
(new_value
)下的新值。 fun
也可能返回 :pop
,这意味着应该从容器中删除当前值并返回。
返回的值是一个二元素元组,其中 fun
返回的 "get" 值和 key
下具有更新值的新容器。
例子
iex> Access.get_and_update([a: 1], :a, fn current_value ->
...> {current_value, current_value + 1}
...> end)
{1, [a: 2]}
相关用法
- Elixir Access.get用法及代码示例
- Elixir Access.filter用法及代码示例
- Elixir Access.all用法及代码示例
- Elixir Access.key用法及代码示例
- Elixir Access.key!用法及代码示例
- Elixir Access.fetch用法及代码示例
- Elixir Access.at!用法及代码示例
- Elixir Access.at用法及代码示例
- Elixir Access.fetch!用法及代码示例
- Elixir Access.elem用法及代码示例
- Elixir Access.pop用法及代码示例
- Elixir Access用法及代码示例
- Elixir Application.get_env用法及代码示例
- Elixir Application用法及代码示例
- Elixir Agent.get_and_update用法及代码示例
- Elixir Atom用法及代码示例
- Elixir Atom.to_string用法及代码示例
- Elixir Agent.get用法及代码示例
- Elixir Atom.to_charlist用法及代码示例
- Elixir Agent.cast用法及代码示例
- Elixir Agent.start_link用法及代码示例
- Elixir Agent.update用法及代码示例
- Elixir Agent.stop用法及代码示例
- Elixir Application.ensure_started用法及代码示例
- Elixir Agent.start用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Access.get_and_update(container, key, fun)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。