Elixir语言中 Map.pop_lazy
相关用法介绍如下。
用法:
pop_lazy(map, key, fun)
@spec pop_lazy(map(), key(), (() -> value())) :: {value(), map()}
延迟返回并删除与 map
中的 key
关联的值。
如果 key
存在于 map
中,则返回 {value, new_map}
其中 value
是键的值, new_map
是从 map
中删除 key
的结果。如果 key
在 map
中不存在,则返回 {fun_result, map}
,其中 fun_result
是应用 fun
的结果。
如果默认值计算起来非常昂贵或通常难以再次设置和拆卸,这将很有用。
例子
iex> map = %{a: 1}
iex> fun = fn ->
...> # some expensive operation here
...> 13
...> end
iex> Map.pop_lazy(map, :a, fun)
{1, %{}}
iex> Map.pop_lazy(map, :b, fun)
{13, %{a: 1}}
相关用法
- Elixir Map.pop!用法及代码示例
- Elixir Map.pop用法及代码示例
- Elixir Map.put_new_lazy用法及代码示例
- Elixir Map.put用法及代码示例
- Elixir Map.put_new用法及代码示例
- Elixir Map.keys用法及代码示例
- Elixir Map.values用法及代码示例
- Elixir Map.update用法及代码示例
- Elixir Map.split用法及代码示例
- 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.merge用法及代码示例
- Elixir Map.filter用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Map.pop_lazy(map, key, fun)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。