gpt4 book ai didi

maps - 如何访问复杂的元组/ map Elixir

转载 作者:行者123 更新时间:2023-12-02 01:47:25 24 4
gpt4 key购买 nike

我如何访问 aaa、xxx、yyy 和 zzz 的值到单独的变量中,因为它看起来确实是映射/元组的混合。

{{: xxx, %{yyy: 'something', zzz: 'test'}, {aaa: 'best'}}}

不好意思打扰你们了,我的工作是

iex(1)> {a, b, c} = {: xxx, %{yyy: 'something', zzz: 'test'}, {aaa: 'best'}}
{: xxx, %{yyy: 'something', zzz: 'test'}, {aaa: 'test'}}
iex(2)> a
:xxx
iex(3)> b
%{yyy: 'something', zzz: 'test'}
iex(4)> b[:zzz]
'test'

谢谢大家。

最佳答案

您甚至可以在 map 键上进行模式匹配:

iex(1)> {a, %{zzz: b}, %{aaa: c}} = {:xxx, %{yyy: "something", zzz: "test"}, %{aaa: "best"}}
{:xxx, %{yyy: "something", zzz: "test"}, %{aaa: "best"}}
iex(2)> a
:xxx
iex(3)> b
"test"
iex(4)> c
"best"

参见 http://elixir-lang.org/getting_started/7.html

顺便说一句,在 Elixir 中,单引号和双引号具有不同的含义(charlist 与 binary)。如果您真的不需要单引号 (charlist),请在任何地方使用双引号 - 二进制是 Elixir 中的默认字符串格式(参见 String docs )

关于maps - 如何访问复杂的元组/ map Elixir ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24817195/

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