que-es-una-tupla

Qué son y cómo usar las Tuplas

Las TUPLAS son agrupaciones ordenadas de elementos que pueden contener diferentes tipos de variables. Las TUPLAS son útiles cuando necesitas agrupar datos heterogéneos de forma transitoria.

Es decir, básicamente una TUPLA es como un paquete de correos que te dejan en la puerta, donde han cogido otros paquetes y los han envuelto con cinta americana para hacer un único paquete.

programacion-tupla

Varias variables cogidas juntas, formando una tupla

A diferencia de las colecciones, las TUPLAS permiten contener elementos de diferentes tipos de hecho, es su función principal).

Por otro lado, a diferencia de los OBJETOS y los STRUCTS, las TUPLAS no tienen una estructura definida. Suelen utilizarse para agrupar elementos de forma temporal o para devolver múltiples valores de una función.

Otra característica muy importante es que las tuplas son inmutables. Esto significa que una vez que se crean, no se pueden modificar (esto evita modificaciones accidentales o indeseadas).

Finalmente, en general las TUPLAS son más eficientes en términos de memoria y rendimiento en comparación con las estructuras de datos mutables.

Ejemplos de tuplas en distintos lenguajes

La sintaxis para declarar una TUPLA varia en lenguaje de programación que se esté utilizando. Vamos a ver ejemplos en algunos lenguajes populares:

// Declaración de una tupla
var persona = (nombre: "Luis", edad: 25, altura: 1.75);

// Acceso a elementos de una tupla
var nombre = persona.nombre; // Accede al nombre de la persona
var edad = persona.edad; // Accede a la edad de la persona
// Declaración de una tupla
#include <tuple>
std::tuple<std::string, int, double> persona("Luis", 25, 1.75);

// Acceso a elementos de una tupla
std::string nombre = std::get<0>(persona); // Accede al nombre de la persona
int edad = std::get<1>(persona); // Accede a la edad de la persona

En JavaScript, no hay un tipo de datos específico llamado “tupla”, pero puedes lograr algo similar utilizando arrays (arreglos). Por ejemplo:

Aunque un array en JavaScript es mutable (puede cambiar), podemos bloquearlo con Object.freeze()

// Declaración de una tupla
const persona = Object.freeze(["Luis", 25, 1.75]);

// Acceso a elementos de una tupla
let nombre = persona[0]; // Accede al nombre de la persona
let edad = persona[1]; // Accede a la edad de la persona
# Declaración de una tupla
persona = ("Luis", 25, 1.75)

# Acceso a elementos de una tupla
nombre = persona[0]  # Accede al nombre de la persona
edad = persona[1]  # Accede a la edad de la persona

En los ejemplos anteriores, creamos TUPLAS que contienen información relacionada sobre una persona, como nombre, edad y altura.

Funcionamiento interno Avanzado

Una TUPLA es simplemente una estructura de datos que contiene un número fijo de elementos, donde cada elemento puede tener un tipo de datos distinto. No ponemos ninguna limitación más.

Así que, internamente, algunos lenguajes lo representada en la memoria de forma contigua. Otros, como una zona de memoria con referencias a otros objetos. Cada uno usará su sistema, a nosotros nos da un poco igual.

Cuando se accede a un elemento de una TUPLA, el lenguaje de programación puede usar un sistema de índices o etiquetas (como en el caso de Python o C#) para encontrar la ubicación en la memoria del elemento deseado.

En otros casos, como en C++, se puede utilizar un sistema de plantillas para definir TUPLAS de diferentes tipos y acceder a los elementos mediante índices.

Por otro lado, la inmutabilidad de la TUPLA no tiene nada “mágico”. Simplemente el lenguaje de programación impide que se modifiquen sus elementos, igual que hace con las constante, ejemplo. Lo que asegura que los datos sean constantes y predecibles durante toda la vida útil de la tupla.