Aktualisierung schrieb ich eine Funktion in Elixir, das eine Karte erstellt dann versucht, den Wert eines seiner Schlüssel zu ändern, aber es scheint nicht aktualisieren zu wollen.Elixir Karte Wert nicht
defmodule KV do
def test() do
map = %{foo: "bar", hello: "world"}
IO.inspect map.foo
%{map | foo: "baz"}
IO.inspect map.foo
end
end
KV.test()
Was erwarte ich nach erscheinen Kompilieren des Codes ist dies:
"bar"
"baz"
Aber was ich tatsächlich bekommen, ist dies:
"bar"
"bar"
aber als ich versuchte, die Eingabe es nur auf die iex shell es tut was es tun soll:
iex(1)> map = %{foo: "bar", hello: "world"}
%{foo: "bar", hello: "world"}
iex(2)> %{map | foo: "baz"}
%{foo: "baz", hello: "world"}
Ich habe eine Reihe von anderen Methoden versucht, den Wert zu aktualisieren, aber nichts scheint zu funktionieren.