Tuplas
Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 68 de 86.
Mientras que los arrays almacenan múltiples valores del mismo tipo, a veces es necesario agrupar algunos valores relacionados de diferentes tipos. Aquí es donde las tuplas resultan útiles.
Una tupla es una colección fija de valores que pueden tener diferentes tipos. Puedes crear una colocando los valores entre paréntesis, separados por comas:
let person = ("Alice", 25, true)
print(person) // ("Alice", 25, true)Para acceder a valores individuales, utiliza su índice con un punto:
let coordinates = (10.5, 20.3)
print(coordinates.0) // 10.5
print(coordinates.1) // 20.3También puedes nombrar los elementos para una mejor legibilidad:
let product = (name: "Laptop", price: 999.99)
print(product.name) // Laptop
print(product.price) // 999.99Otra característica útil es descomponer una tupla en variables separadas:
let point = (3, 7)
let (x, y) = point
print(x) // 3
print(y) // 7Las tuplas son perfectas para devolver múltiples valores desde una función o agrupar pequeñas cantidades de datos relacionados sin crear una estructura completa.
Desafío
FácilRecibirás tres líneas de entrada:
- Un nombre (String)
- Una edad (Int)
- Una puntuación (Double)
Crea una tupla llamada student con elementos nombrados: name, age y score.
Luego, descompón la tupla en tres variables separadas: studentName, studentAge y studentScore.
Imprime las siguientes tres líneas:
- El nombre del estudiante accedido usando el elemento nombrado
- La edad del estudiante accedida usando el índice (notación de punto con número)
- La variable de puntuación descompuesta
Ejemplo: Si las entradas son Emma, 21 y 95.5, tu salida debería ser:
Emma
21
95.5Hoja de referencia
Una tupla es una colección fija de valores que pueden tener diferentes tipos. Crea una usando paréntesis con valores separados por comas:
let person = ("Alice", 25, true)Accede a los elementos de la tupla por índice usando la notación de punto:
let coordinates = (10.5, 20.3)
print(coordinates.0) // 10.5
print(coordinates.1) // 20.3Nombra los elementos de la tupla para una mejor legibilidad:
let product = (name: "Laptop", price: 999.99)
print(product.name) // Laptop
print(product.price) // 999.99Descompón una tupla en variables separadas:
let point = (3, 7)
let (x, y) = point
print(x) // 3
print(y) // 7Pruébalo tú mismo
// Leer entrada
let name = readLine()!
let age = Int(readLine()!)!
let score = Double(readLine()!)!
// TODO: Escribe tu código a continuación
// 1. Crea una tupla llamada 'student' con elementos nombrados: name, age y score
// 2. Descompón la tupla en tres variables separadas: studentName, studentAge y studentScore
// 3. Imprime el nombre del estudiante usando el elemento nombrado (student.name)
// 4. Imprime la edad del estudiante usando la notación de índice (student.1)
// 5. Imprime la variable de puntuación descompuesta (studentScore)Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloAsignación compuestaResumen - Matemáticas simplesOperadores de comparación7E/S Básica
Función PrintInterpolación de StringsEntrada ReadLineConversión de TiposRepaso - Hasta 120Repaso - Verdadero o Falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosResumen - Función SigmaResumen - Función de validaciónValores por defecto13Iterar sobre secuencias
Iterar sobre elementosEl método enumerateIterar sobre cadenas P1Iterar sobre cadenas P22Variables
Let vs VarAnotaciones de tiposNúmerosStringsBooleanosConvenciones de nomenclaturaResumen - Inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesempaquetado con If LetGuard LetOperador de coalescencia nulaResumen - Desempaquetado seguro6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámica