Elixir - 将数组更改为字符串

时间:2017-06-02 20:40:34

标签: elixir

我在elixir中有一个简单的地图,如下所示:

%{email: ["Nie może być puste."], password: ["Nie może być puste."],
  password_confirmation: ["Nie może być puste."]}

如何将格式更改为以下内容:

%{email:“Niemożebyćpuste。”,密码:“Niemożebyćpuste。”,   password_confirmation:“Niemożebyćpuste。”}

1 个答案:

答案 0 :(得分:2)

如果列表中始终有一个字符串,则可以执行以下操作:

iex(1)> map = %{email: ["Nie może być puste."], password: ["Nie może być puste."],
...(1)>   password_confirmation: ["Nie może być puste."]}
%{email: ["Nie może być puste."], password: ["Nie może być puste."],
  password_confirmation: ["Nie może być puste."]}
iex(2)> for {k, [v]} <- map, into: %{}, do: {k, v}
%{email: "Nie może być puste.", password: "Nie może być puste.",
  password_confirmation: "Nie może być puste."}

如果列表可以有多个字符串,您可以像这样加入它们:

iex(3)> map = %{email: ["Nie może być puste.", "Nie może być puste."],
...(3)>   password_confirmation: ["Nie może być puste."]}
%{email: ["Nie może być puste.", "Nie może być puste."],
  password_confirmation: ["Nie może być puste."]}
iex(4)> for {k, v} <- map, into: %{}, do: {k, Enum.join(v, " ")}
%{email: "Nie może być puste. Nie może być puste.",
  password_confirmation: "Nie może być puste."}