gpt4 book ai didi

struct - Elixir - 基于动态变量创建结构

转载 作者:行者123 更新时间:2023-12-02 08:26:13 24 4
gpt4 key购买 nike

是否可以基于动态传递的变量创建结构?

类似的事情:

  def create_map_list(list, atom, struct) do
Enum.filter(list, &Map.has_key?(&1, atom))
|> Enum.map(
&%struct{
id: &1.new_agent.id,
name: &1.new_agent.name,
primary_skillset: &1.new_agent.primary_skillset,
secondary_skillset: &1.new_agent.secondary_skillset
}
)

结束

最佳答案

是的,使用Kernel.struct/2:

iex(1)> defmodule A do
...(1)> defstruct [:x]
...(1)> end
iex(2)> [1, 2, 3] |> Enum.map(&struct(A, x: &1))
[%A{x: 1}, %A{x: 2}, %A{x: 3}]

就您而言,这将是:

&struct(struct,
id: &1.new_agent.id,
name: &1.new_agent.name,
primary_skillset: &1.new_agent.primary_skillset,
secondary_skillset: &1.new_agent.secondary_skillset
)

关于struct - Elixir - 基于动态变量创建结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50684288/

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