字符列表
Elixir 中的字符串是二进制文件。但是,在 Erlang 代码中,字符串传统上是“char 列表”,因此在调用 Erlang 函数时,可能必须使用 char 列表而不是常规的 Elixir 字符串。
虽然常规字符串是使用双引号 "
编写的,但 char 列表是使用单引号'
编写的:
string = "Hello!"
char_list = 'Hello!'
字符列表只是表示每个字符的代码点的整数列表。
'hello' = [104, 101, 108, 108, 111]
可以使用 to_charlist/1
将字符串转换为字符列表 :
iex> to_charlist("hello")
'hello'
而反过来可以用 to_string/1
完成 :
iex> to_string('hello')
"hello"
调用 Erlang 函数并将输出转换为常规 Elixir 字符串:
iex> :os.getenv |> hd |> to_string
"PATH=/usr/local/bin:/usr/bin:/bin"