除了上面定义的元组外,还有五个Elixir文字, 引用时,返回自己(而不是元组)。他们是:
:sum #=> Atoms 1.0 #=> Numbers [1, 2] #=> Lists "strings" #=> Strings {key, value} #=> Tuples with two elements
玩iex证实了这一点:
iex(1)> quote do: {}
{:{}, [], []}
iex(2)> quote do: {1}
{:{}, [], [1]}
iex(3)> quote do: {1,2}
{1, 2}
iex(4)> quote do: {1,2,3}
{:{}, [], [1, 2, 3]}
为什么只有2元组由自己代表,而不是其他n元组?
答案 0 :(得分:1)
请记住,因为列表和双元素元组是带引号的文字,按照定义,关键字也是文字(实际上,带有两个元素的元组是引用文字的唯一原因是支持关键字作为文字 )。
我相信这样做的一个好处是宏可以轻松地从关键字列表中提取值。