Obtener un elemento de una n-tupla dentro de una lista

varuk

Buenas.

Vengo a pedir vuestra opinión sobre un tema. No hace falta saber Haskell, vale con cualquier lenguaje funcional (o ni eso). Aunque si habéis tocado lenguajes funcionales pues se entenderá mejor, creo. Es que nos hemos quedado un poco moscas un amigo y yo.

El caso es que hemos visto esta pregunta en Stackoverflow:

http://stackoverflow.com/questions/15558278/how-to-get-nth-element-from-a-10-tuple-in-haskell/37421137

Hemos llegado a ella buscando justo lo que buscaba ese usuario que la formuló. Básicamente que si tienes una n-tupla, como por ejemplo:

[("Elemento1", "Elemento2", "Elemento3", "Elemento4")]

Pues puedas obtener, pasando la posición de un elemento de esa tupla, el elemento en concreto. Por ejemplo. Podríamos tener incluso dos n-tuplas, o más, en una lista:

[("Elemento1", "Elemento2", "Elemento3", "Elemento4"), ("Elemento1", "Elemento2", "Elemento3", "Elemento4")]

Por liar más la cosa, como pongo arriba, podemos tenerlo así... y en algún momento dado quiero acceder al "Elemento2" de la segunda n-tupla de las dos que hay.

El caso es que me he puesto a pensar la solución esta tarde y la he sacado. He hecho una función y la hemos escrito ahí como respuesta, por si viene más gente que algún día busque eso pues que la use o le de la idea.

La cuestión es que, como podéis ver en la última respuesta de ese enlace de Stackoverflow, ha venido un moderador, o un tío con mucha reputación, y la ha valorado con un -1 y ha dicho qué que tiene que ver eso con la pregunta que hacía el usuario.

No sé si me he liado o no pero se lo he mostrado a un amigo y me ha dicho que no veía nada raro en mi respuesta... y digo ¿estará el usuario inicial pidiendo otra cosa y yo estaré loco o no me he entero de nada hoy?

Y es por ello que quería consultar aquí, por si veis, o interpretáis, algo raro que se escape.

Vaya por delante que el -1 me la suda, en serio, es más el tema de la duda de lo que se pide y la solución que doy.

Muchas gracias : )

PD: Aprovecho para reiveindicar los lenguajes funcionales, que están un poco olvidados por este foro : P

Soulscx

lo que preguntaba el tio era que dada una tupla de n elementos queria obtener uno de ellos en concreto.
ej:
f((a,b,c), 2) -> c es decir el elemento c

tu solucion parece resolver el mismo problema pero para N tuplas de M elementos. Es decir, lo que pide hecho para varias tuplas.

How to get nth element from a 10-tuple in Haskell?
significa tuplas de tamaño 10, no 10 tuplas. Creo q es eso xD

1 respuesta
varuk

#2 Pues sí, así lo entendí yo... pero intenté ir más allá y darle una solución más genérica por si tuviera varias tuplas, que también es aplicable a una sola tupla

Pues gracias. No sé, pensaba yo que estaba loco.

Usuarios habituales

  • varuk
  • Soulscx