Elixir 将包含一个项目(映射)的列表转换为映射
如何将[%{hello=>123}]转换为%{hello=>123}Elixir 将包含一个项目(映射)的列表转换为映射,elixir,Elixir,如何将[%{hello=>123}]转换为%{hello=>123} 我可以Enum.atmap,0,但看起来不太好。您可以使用模式匹配: iex(1)> [map] = [%{"hello" => 123}] iex(2)> map # => %{"hello" => 123} 或 如果需要hello键的值。可以使用模式匹配: iex(1)> [map] = [%{"hello" => 123}] iex(2)> map # => %{"
我可以Enum.atmap,0,但看起来不太好。您可以使用模式匹配:
iex(1)> [map] = [%{"hello" => 123}]
iex(2)> map
# => %{"hello" => 123}
或
如果需要hello键的值。可以使用模式匹配:
iex(1)> [map] = [%{"hello" => 123}]
iex(2)> map
# => %{"hello" => 123}
或
如果您需要hello键的值。虽然@guitarman的答案完全正确,但列表中还有一个than:
iex> [%{"hello" => 123}] |> hd()
%{"hello" => 123}
不同之处在于模式匹配到单元素列表[map]=将在空列表上引发MatchError上述引发ArgumentError,当列表包含多个元素时,后者将成功返回一个值。虽然@guitarman的答案完全正确,但也有than占据了列表的首位:
iex> [%{"hello" => 123}] |> hd()
%{"hello" => 123}
不同之处在于模式匹配到一个元素列表[map]=将在空列表上引发MatchError上述引发ArgumentError,当列表包含多个元素时,后者将成功返回值