gpt4 book ai didi

elixir - 在 Elixir 中,什么时候我们在原子名称之前或之后使用冒号?

转载 作者:行者123 更新时间:2023-12-02 06:50:49 26 4
gpt4 key购买 nike

我正忙于学习 Elixir 并了解什么是原子。关于basic types page他们的介绍是这样的:

:foo

但是,当我们遇到keyword lists时我们看到这样的原子

list = [{:a, 1}, {:b, 2}]   # list of tuples
list == [a: 1, b: 2] # evaluates as true

冒号的位置已被交换,出现在原子名称之后。

似乎当原子是键时,冒号的位置就会发生变化。这确实使代码更易于阅读,因为它非常具有表现力,但我找不到任何直接引用来说明为什么会出现这种情况(这不是我正在查看的学习 Elixir 的唯一网站)。

有人可以确认我假设原子在列表中的关键时将冒号放在右侧的假设是正确的吗?

对我来说,这只会让代码更漂亮,但实际上我是否缺少一些更深入的理解来理解为什么会发生这种情况?

最佳答案

是的,它只是原子键的语法糖。它的实现可能是因为原子被广泛用作关键字列表和映射中的键,并且较短的语法使它们更易于阅读。正如您已经正确观察到的,以下 proplist 是等效的:

[{:a, 1}, {:b, 2}]
[a:1, b:2]

以下 map 也是等效的:

%{:a => 1, :b => 2}
%{a: 1, b: 2}

关于elixir - 在 Elixir 中,什么时候我们在原子名称之前或之后使用冒号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37089549/

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