Conozcamos a las tuplas

Medio aburrido esto de trabajar siempre con strings, números y booleanos, ¿no? ¿No estaría buenísimo poder agrupar distintos datos para armar cosas más interesantes? Conozcamos a nuestra nueva amiga: ¡la tupla!

Supongamos que queremos representar libros: los mismos están dados por su título y el año de publicación. En Haskell podríamos escribir lo siguiente:

martinFierro = ("Martín Fierro", 1872)
fundacion = ("Fundación", 1951)

¿Qué acabamos de hacer? Agrupamos datos simples, entre paréntesis y separándolos con comas. Y a esta agrupación se la conoce como tupla.

Como todo en Haskell, las tuplas tienen un tipo, y es igual al tipo de sus elementos agrupados. En nuestro caso, el tipo de los libros es (String, Int), porque el título es un String y el año de publicación es un Int.

¿Y qué podemos hacer con nuestros libros? Podemos saber su título creando una función así...

titulo (tituloDelLibro, anioDePublicacion) = tituloDelLibro

...y usándola así:

 titulo martinFierro
"Martín Fierro"

Veamos si queda claro: definí la función esUnClasico que nos dice si un libro se publicó antes de 1959.

¡Dame una pista!

Si quisieramos hacer una función esTituloLargo que nos diga si el titulo de un libro tiene más de 15 caracteres deberíamos hacer algo así:

esTituloLargo (tituloDelLibro, anioDePublicacion) = length tituloDelLibro > 15

Tenés que iniciar sesión antes de empezar a enviar tus soluciones