首页 > Erlang并发教程 > 4.1 Erlang并发编程-用于列表处理的BIF
2013
11-06

4.1 Erlang并发编程-用于列表处理的BIF

用于列表处理的BIF

一些内置函数可用于列表与其他数据类型间的互相转换。主要的BIF包括:

atom_to_list(A)

将原子式A转换为一个ASCII字符列表。

如:atom_to_list(hello)[104,101,108,108,111]

float_to_list(F)

将浮点数F转换为一个ASCII字符列表。

如:float_to_list(1.5)[49,46,53,48,48,...,48]

integer_to_list(I)

将整数I转换为一个ASCII字符列表。

如:integer_to_list(1245)[[49,50,52,53]

list_to_atom(L)

将ASCII字符列表L转换为一个原子式。

如:list_to_atom([119,111,114,108,100])world

list_to_float(L)

将ASCII字符列表L转换为一个浮点数。

如:list_to_float([51,46,49,52,49,53,57])3.14159

list_to_integer(L)

将ASCII字符列表L转换为一个整数。

如:list_to_integer([49,50,51,52])1234

hd(L)

返回列表L的第一个元素。

如:hd([a,b,c,d])a

tl(L)

返回列表L的尾部。

如:tl([a,b,c,d])[b,c,d]

length(L)

返回列表L的长度。

如:length([a,b,c,d])4

有两个BIF tuple_to_list/1list_to_tuple/1将放在第??章讨论。还有一些列表处理相关的BIF,如list_to_pid(AsciiList)pid_to_list(Pid)。这些将在附录B中描述。


4.1 Erlang并发编程-用于列表处理的BIF》有 3 条评论

  1. 我用的windows erl7.0, atom_to_list, float_to_list 等等,这些向列表转换的函数 得到的结果都不是列表,而是传入的参数本身

  2. ss 说:

    得到的是列表,只不过显示和参数本身是一样的。例如A=atom_to_list(world). A显示为world 但如果输入 A=world 则匹配错误 但你输入 A=[119,111,114,108,100]. 会是正确,其实A的值就是这个列表

  3. 受教,多谢。1> A=atom_to_list(world).”world”2> A.”world”3> A==world.false4> A==[119,111,114,108,100].true5>

留下一个回复

你的email不会被公开。