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