我知道 怎么放,获取和使用更新药剂嵌套地图put_in
,get_in
以及update_in
,但我怎么“ delete_in
“?
假设我有此嵌套地图,并且想删除键:c
及其关联的值。
iex(1)> mymap = %{:a => %{:b => 1, :c => 2}}
%{a: %{b: 1, c: 2}}
Run Code Online (Sandbox Code Playgroud)
我如何有效地回到这一点?
{%a: %{b: 1}}
Run Code Online (Sandbox Code Playgroud)
您正在寻找pop_in
。该函数同时返回弹出的值和除去弹出值后的其余值。您可以通过管道输入忽略弹出的值|> elem(1)
。
iex(1)> map = %{:a => %{:b => 1, :c => 2}}
%{a: %{b: 1, c: 2}}
iex(2)> pop_in(map, [:a, :c])
{2, %{a: %{b: 1}}}
iex(3)> pop_in(map, [:a, :c]) |> elem(1)
%{a: %{b: 1}}
Run Code Online (Sandbox Code Playgroud)
要么
iex(4)> pop_in(map[:a][:c])
{2, %{a: %{b: 1}}}
iex(5)> pop_in(map[:a][:c]) |> elem(1)
%{a: %{b: 1}}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
793 次 |
最近记录: |