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 是多态的,即它们可以接受多种输入类型(例如原子、整数),并分别将它们转换为字符串和字符列表。

广告