Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 将包含一个项目(映射)的列表转换为映射_Elixir - Fatal编程技术网

Elixir 将包含一个项目(映射)的列表转换为映射

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 # => %{"

如何将[%{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
# => %{"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,当列表包含多个元素时,后者将成功返回值