Elixir 字符列表

2023-12-14 16:57 更新

字符列表僅僅是字符的列表:

iex> 'he??o'
[104, 101, 322, 322, 111]
iex> is_list 'he??o'
true
iex> 'hello'
'hello'

可以看出,一個(gè)字符列表包含了單引號(hào)間的字符的代碼點(diǎn),而非字節(jié)(注意如果某個(gè)字符超出了ASCII的范圍,IEx將只輸出其代碼點(diǎn))。所以雙引號(hào)代表一個(gè)字符串(二進(jìn)制數(shù)),單引號(hào)代表一個(gè)字符列表(列表)。

在實(shí)踐中,字符列表通常用于與Erlang的接口,因?yàn)橐恍┡f的庫(kù)不接受二進(jìn)制數(shù)作為參數(shù)。你可以使用to_string/1to_char_list/1函數(shù)來(lái)相互轉(zhuǎn)化字符列表和字符串:

iex> to_char_list "he??o"
[104, 101, 322, 322, 111]
iex> to_string 'he??o'
"he??o"
iex> to_string :hello
"hello"
iex> to_string 1
"1"

注意這些函數(shù)是多態(tài)的。它們不僅能將字符列表轉(zhuǎn)換成字符串,也能將整數(shù),原子等轉(zhuǎn)換成字符串。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)