2011-01-27 54 views
18

的元素给定一个列表与一个元组:提取元组

[{4,1,144}] 

如何提取元组的第一个元素:

element(1,lists:nth(1,L)) 

你有一个简单的解决方案?

回答

29

试试这个:

1> A = [{3,1,1444}]. 
[{3,1,1444}] 
2> [{X, _, _}] = A. 
[{3,1,1444}] 
3> X. 
3 
4> 
+1

我喜欢这个解决方案很简单;-) – Bertaud 2011-01-27 22:29:13

23

既然你得到你的状态到底是什么,有一个元组列表,更容易将

element(1, hd(L)). 

(建议模式匹配像新鸿基变异可能甚至更好,取决于上下文。

4

如果你想要在你的元组中嵌入一些语义,你也可以考虑使用记录语法

-record(x, {y, z}). 

1> A = #x{y=b, z=c}. 
2> A#x.y. 
b 

所有记录其实都是元组,你不要担心在元组也没有关于添加/删除元素元素的顺序。