當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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