当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Elixir Map.pop_lazy用法及代码示例


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 的结果。如果 keymap 中不存在,则返回 {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-lang.org大神的英文原创作品 Map.pop_lazy(map, key, fun)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。