Elixir (连接)列表
2023-12-14 16:22 更新
Elixir中使用方括号来定义列表的值。值可以是任意类型:
iex> [1, 2, true, 3]
[1, 2, true, 3]
iex> length [1, 2, 3]
3
两个列表可以相加或相减通过食用和运算符:++/2
--/2
iex> [1, 2, 3] ++ [4, 5, 6]
[1, 2, 3, 4, 5, 6]
iex> [1, true, 2, false, 3, true] -- [true, false]
[1, 2, 3, true]
关于列表的头尾我们会进行很多讨论。头是列表的第一个元素,而尾是剩余部分。它们可以通过函数和来得到。让我们将一个列表赋值给一个变量,然后获得它的头尾:hd/1
tl/1
iex> list = [1, 2, 3]
iex> hd(list)
1
iex> tl(list)
[2, 3]
获取空列表的头尾会产生错误:
iex> hd []
** (ArgumentError) argument error
有时你创建的列表会返回一个单引号包围的值。例如:
iex> [11, 12, 13]
'\v\f\r'
iex> [104, 101, 108, 108, 111]
'hello'
当Elixir发现一个可打印的ASCII数字列表,便会将其以字符列表形式打印出来。字符列表看上去和Erlang代码非常相似。当你在IEx中看见一个不确定类型的值,你可以使用来获得它的信息:i/1
iex> i 'hello'
Term
'hello'
Data type
List
Description
...
Raw representation
[104, 101, 108, 108, 111]
Reference modules
List
记住在Elixir中单引号和双引号所代表的是不同的类型:
iex> 'hello' == "hello"
false
单引号是字符列表,双引号是字符串。我们会在"二进制,字符串和字符列表"章节继续讨论它们。
以上内容是否对您有帮助:
更多建议: