【发布时间】:2022-03-03 10:06:12
【问题描述】:
在 Elixir 中,我们可以使用
从嵌套数据结构中获取数据data = %{field: %{other_field: 1}}
data[:field][:other_field]
如果它包含列表,也可以使用
data = %{field: %{other_field: [1]}}
get_in data, [:field, :other_field, Access.at(0)]
但是鉴于 data.field.other_field 是一个结构,如何获取该数据?
以上两种方法都会失败,因为结构没有实现Access.fetch/2。
data = %{field: %{other_field: %Struct{a: 1}}}
那么除了模式匹配之外,访问嵌套结构数据的正确方法是什么?
【问题讨论】:
标签: elixir