2011-01-27 21 views

Respuesta

29

Prueba esto:

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

Me gusta esta solución muy simple ;-) – Bertaud

+3

¿Qué pasa si la tupla es de longitud arbitraria? ¿Cómo puedo escribir una función para hacer esto? – dotslash

23

Dado que se obtiene exactamente lo que usted afirma, una lista con una tupla, incluso más fácil sería

element(1, hd(L)). 

(Una comparación de patrones variante como SHK sugerido es probablemente incluso más agradable, según el contexto.

4

también podría considerar el uso de la sintaxis de registros si desea semántica integrada en sus tuplas

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

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

todos los registros son de hecho tuplas y no tiene que preocuparse por el orden de los elementos en esa tupla ni por agregar/quitar elementos.