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