У меня есть карта, определенная ниже:
iex(tbc@192-168-1-8)2> map = %{ 1 => {name => "Joey"}, 2 => {name => "Lee"}}
Я хочу поменять значение двух имен, чтобы оно выглядело так:
%{1 => %{"name" => "Lee"}, 2 => %{"name" => "Joey"}}
Я знаю, что могу использовать приведенный ниже код для реализации этого:
iex(tbc@192-168-1-8)3> name1 = Map.get(map, 1)
%{"name" => "Joey"}
iex(tbc@192-168-1-8)4> name2 = Map.get(map, 2)
%{"name" => "Lee"}
iex(tbc@192-168-1-8)5> map = Map.put(map, 1, name2)
%{1 => %{"name" => "Lee"}, 2 => %{"name" => "Lee"}}
iex(tbc@192-168-1-8)6> map = Map.put(map, 2, name1)
%{1 => %{"name" => "Lee"}, 2 => %{"name" => "Joey"}}
но я не думаю, что это elixir
стиль кодирования. Каков функциональный способ реализовать эту логику в эликсире?