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


Elixir Map.put_new_lazy用法及代码示例


Elixir语言中 Map.put_new_lazy 相关用法介绍如下。

用法:

put_new_lazy(map, key, fun)
@spec put_new_lazy(map(), key(), (() -> value())) :: map()

评估fun 并将结果放在map 中的key 下,除非key 已经存在。

仅当 key 不存在时,如果您想要计算放置在 key 下的值,此函数很有用,例如,当该值的计算成本很高或通常难以再次设置和拆卸时。

例子

iex> map = %{a: 1}
iex> fun = fn ->
...>   # some expensive operation here
...>   3
...> end
iex> Map.put_new_lazy(map, :a, fun)
%{a: 1}
iex> Map.put_new_lazy(map, :b, fun)
%{a: 1, b: 3}

相关用法


注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Map.put_new_lazy(map, key, fun)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。