我会想象下面会工作的基础上,文章我在网上找到:这个仙丹地图的例子有什么问题?
iex(9)> q
%{one: 1, two: 2}
iex(10)> nq = %{ q | three: 4}
** (KeyError) key :three not found in: %{one: 1, two: 2}
(stdlib) :maps.update(:three, 4, %{one: 1, two: 2})
(stdlib) erl_eval.erl:255: anonymous fn/2 in :erl_eval.expr/5
(stdlib) lists.erl:1262: :lists.foldl/3
iex(10)> nq = %{ q | :three => 4}
** (KeyError) key :three not found in: %{one: 1, two: 2}
(stdlib) :maps.update(:three, 4, %{one: 1, two: 2})
(stdlib) erl_eval.erl:255: anonymous fn/2 in :erl_eval.expr/5
(stdlib) lists.erl:1262: :lists.foldl/3
我尝试了新的元素添加到地图中。 谁能告诉我我做错了什么?我运行如下:
Erlang/OTP 18 [erts-7.2] [source-e6dd627] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Interactive Elixir (1.3.0-dev) - press Ctrl+C to exit (type h() ENTER for help)
我猜我一直在寻找为'Map.put/3'。有没有更简单的方法,就像一些特殊的操作员一样? – Geo
对不起,我现在只看到这个,并没有在我的答案中解决这个问题!我认为没有,如果是的话,我从来没有遇到过。 –