字元列表

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"