我會想象下面會工作的基礎上,文章我在網上找到:這個仙丹地圖的例子有什麼問題?
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
對不起,我現在只看到這個,並沒有在我的答案中解決這個問題!我認爲沒有,如果是的話,我從來沒有遇到過。 –