作者:手机用户2502875023 | 来源:互联网 | 2023-05-23 11:46
在elixir中,我们可以连接,列表就像这样
ex(52)> [1,2,3,4] ++ [5,6,7]
[1, 2, 3, 4, 5, 6, 7]
我们还可以连接元组吗?像这样的东西?
iex(53)> {1,2,3,4} ++ {5,6,7}
** (ArgumentError) argument error
:erlang.++({1, 2, 3, 4}, {5, 6, 7})
我能想到的唯一另一件事是将元组转换为列表,然后使用to_list
和to_tuple
函数转换回元组.但那太笨拙了.
1> José Valim..:
你不能连接元组.
唯一的原因是你不应该这样使用它们.大多数元组的使用需要知道它们的大小,如果你可以连接它们,事情会变得模糊.此外,连接元组需要在内存中复制两个元组,这是无效的.
换句话说,如果要连接元组,则可能是错误的数据结构.您有两种选择:
使用列表
编写元组:而不是a ++ b
,只写{a, b}
当语言设计师回答问题时,我喜欢.再也不能得到官方了.