Elixir - 角色列表


字符列表只不过是字符列表。考虑下面的程序来理解同样的内容。

IO.puts('Hello')
IO.puts(is_list('Hello'))

上述程序生成以下结果 -

Hello
true

字符列表不包含字节,而是包含单引号之间的字符的代码点。因此,双引号表示字符串(即二进制),而单引号表示字符列表(即列表)。请注意,如果任何字符超出 ASCII 范围,IEx 将仅生成代码点作为输出。

字符列表主要在与 Erlang 交互时使用,特别是不接受二进制文件作为参数的旧库。您可以使用 to_string(char_list) 和to_char_list(string)函数将字符列表转换为字符串并返回-

IO.puts(is_list(to_char_list("hełło")))
IO.puts(is_binary(to_string ('hełło')))

上述程序生成以下结果 -

true
true

注意- 函数to_stringto_char_list是多态的,即它们可以接受多种类型的输入,如Atomics、整数,并将它们分别转换为字符串和字符列表。