原文 2014-06-16 23:19:36 发表于 CSDN,这里对以前写的文章做下收录。
erlang有两种复合结构,tuple和list,两者的区别是tuple子元素的个数是固定不变的,声明后就不能改变了;而list是可变的,可以通过[H|T]来取出或插入新元素。record有点像C/C++里面的结构体,实际上是语法糖,方便我们的开发,代码汇编时转成tuple表达形式。
Tuple
tuple的表示方法如:
{Term1,...,TermN}
下面以例子说明erlang tuple及一些基本操作:
1> A = {1,2}. {1,2} 2> tuple_size(A). 2 3> is_tuple(A). true 4> tuple_to_list(A). [1,2] 5> element(1, A). 1 6> setelement(2, A, 3). {1,3}
Record
record有点像C/C++里面的结构体,表示方法如:
-record(Name, {Field1 [= Value1], ... FieldN [= ValueN]}).