0
マップを作成してそのキーの値を変更しようとしたが、更新したくないような、エリクシルの関数を書きました。私は、コードをコンパイルした後現れることを期待し何エリクサーマップの値が更新されない
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()
はこれです:
"bar"
"baz"
しかし、私は実際に取得することはこれです:
"bar"
"bar"
しかし、私はちょうどそれを入力しようとしたときiexシェルは何をするのでしょうか?
iex(1)> map = %{foo: "bar", hello: "world"}
%{foo: "bar", hello: "world"}
iex(2)> %{map | foo: "baz"}
%{foo: "baz", hello: "world"}
私は値を更新するために他の多くの方法を試しましたが、何も動作していないようです。