Tuplas
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 68 de 86.
Enquanto arrays armazenam múltiplos valores do mesmo tipo, às vezes você precisa agrupar alguns valores relacionados de tipos diferentes. É aqui que as tuplas se tornam úteis.
Uma tupla é uma coleção fixa de valores que podem ter tipos diferentes. Você cria uma colocando os valores dentro de parênteses, separados por vírgulas:
let person = ("Alice", 25, true)
print(person) // ("Alice", 25, true)Para acessar valores individuais, use o índice deles com um ponto:
let coordinates = (10.5, 20.3)
print(coordinates.0) // 10.5
print(coordinates.1) // 20.3Você também pode nomear os elementos para melhor legibilidade:
let product = (name: "Laptop", price: 999.99)
print(product.name) // Laptop
print(product.price) // 999.99Outro recurso útil é a decomposição de uma tupla em variáveis separadas:
let point = (3, 7)
let (x, y) = point
print(x) // 3
print(y) // 7Tuplas são perfeitas para retornar múltiplos valores de uma função ou agrupar pequenas quantidades de dados relacionados sem criar uma estrutura completa.
Desafio
FácilVocê receberá três linhas de entrada:
- Um nome (String)
- Uma idade (Int)
- Uma pontuação (Double)
Crie uma tupla chamada student com elementos nomeados: name, age e score.
Em seguida, decomponha a tupla em três variáveis separadas: studentName, studentAge e studentScore.
Imprima as três linhas seguintes:
- O nome do aluno acessado usando o elemento nomeado
- A idade do aluno acessada usando o índice (notação de ponto com número)
- A variável de pontuação decomposta
Exemplo: Se as entradas forem Emma, 21 e 95.5, sua saída deve ser:
Emma
21
95.5Folha de consulta
Uma tupla é uma coleção fixa de valores que podem ter tipos diferentes. Crie uma usando parênteses com valores separados por vírgula:
let person = ("Alice", 25, true)Acesse elementos de uma tupla por índice usando a notação de ponto:
let coordinates = (10.5, 20.3)
print(coordinates.0) // 10.5
print(coordinates.1) // 20.3Nomeie os elementos da tupla para melhor legibilidade:
let product = (name: "Laptop", price: 999.99)
print(product.name) // Laptop
print(product.price) // 999.99Decomponha uma tupla em variáveis separadas:
let point = (3, 7)
let (x, y) = point
print(x) // 3
print(y) // 7Experimente você mesmo
// Ler entrada
let name = readLine()!
let age = Int(readLine()!)!
let score = Double(readLine()!)!
// TODO: Escreva seu código abaixo
// 1. Crie uma tupla chamada 'student' com elementos nomeados: name, age, e score
// 2. Decomponha a tupla em três variáveis separadas: studentName, studentAge, e studentScore
// 3. Imprima o nome do aluno usando o elemento nomeado (student.name)
// 4. Imprima a idade do aluno usando a notação de índice (student.1)
// 5. Imprima a variável de pontuação decomposta (studentScore)Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa