gpt4 book ai didi

elixir - 将列表中的字符串转换为原子

转载 作者:行者123 更新时间:2023-12-02 17:13:34 25 4
gpt4 key购买 nike

所以,我在映射中有一个字符串列表,如下所示:

%{select =>  ["status_id", "first_name"]}.

我想将它转换为列表中的atom,如下所示:

[:status_id, :first_name].

使用类似的东西:

String.to_existing_atom 

但是那个函数接受一个参数,而不是一个列表。

我无法在列表中找到执行此操作的方法。是否有可能通过一些内置函数?

我该怎么做?

任何帮助将不胜感激。

最佳答案

您可以使用 Map.update!/3 更新映射中的值,然后使用 Enum.map/2 将列表映射到 String 上。 to_existing_atom/1:

iex(1)> :status_id
:status_id
iex(2)> :first_name
:first_name
iex(3)> map = %{:select => ["status_id", "first_name"]}
%{select: ["status_id", "first_name"]}
iex(4)> map2 = Map.update!(map, :select, fn list -> Enum.map(list, &String.to_existing_atom/1) end)
%{select: [:status_id, :first_name]}

关于elixir - 将列表中的字符串转换为原子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47772992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com