Arrays Tipados
Parte da seção Introdução ao Luau do Journey de Lua da Coddy. Lição 13 de 73.
Arrays tipados são um dos recursos mais úteis do Luau para organizar vários valores mantendo a segurança de tipos.
Em Lua, um array é apenas uma tabela com valores nas posições 1, 2, 3, …, e ele aceitará tranquilamente um número, uma string e um booleano ao mesmo tempo. O Luau permite declarar que uma tabela deve conter apenas elementos de um tipo, usando a sintaxe {Type}:
local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}Quando você declara um array tipado, o verificador de tipos do Luau garante que apenas valores do tipo declarado sejam inseridos nele. Insira uma string em um array {number} e você obterá um erro de tipo durante a edição, antes mesmo de o código ser executado:
local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ erro de tipo: string não é um numberTudo o que você já sabe sobre tabelas Lua continua valendo: arrays são baseados em 1 (scores[1] é o primeiro elemento), #scores é o comprimento, e table.insert / table.remove funcionam normalmente. A anotação adiciona segurança, não um novo comportamento em tempo de execução.
Desafio
FácilCrie um array tipado chamado scores que possa conter apenas números, inicializado com 85, 92 e 78.
Crie um segundo array tipado chamado studentNames que possa conter apenas strings, inicializado com "Alice", "Bob" e "Charlie".
Em seguida, imprima, cada item em sua própria linha:
- a primeira pontuação
- quantas pontuações existem (use
#) - o segundo nome de estudante
Experimente você mesmo
-- Escreva o código aqui
-- 1) declare scores: {number} e studentNames: {string}
-- 2) imprima o primeiro score, a contagem de scores e o segundo nome
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Introdução ao Luau
1Começando com o Luau
O que é Luau?Por que usar Luau?Seu primeiro código em LuauVerificação de tipos e modos de erroRecapitulando: Introdução ao Luau4Trabalhando com Funções
Tipando Parâmetros e Valores de RetornoTipando Funções AnônimasFunções que Não Retornam NadaParâmetros OpcionaisValores Padrão para ParâmetrosFunções VariádicasDefinindo Tipos de FunçõesRecapitulação: Funções Tipadas2Tipos Fundamentais
Tipos Básicos: num, str, boolO Tipo 'any': Escape HatchO Tipo 'unknown'Tipos Nil e OpcionaisInferência de Tipos na PráticaAnotações Explícitas de TiposReciclagem: Prática de Tipos Fundamentais5Aliases, Uniões, Interseções
Aliases de Tipos para PrimitivosTipos de UniãoTrabalhando com Tipos de UniãoTipos LiteraisTipos de InterseçãoCombinando Aliases de TiposRecapitulando: Combinações Avançadas de Tipos3Tabelas Tipadas: Arrays e Maps
Arrays TipadosAdicionando e Lendo ElementosO que é um Tipo Map?Declarando e Acessando MapsIterando Sobre TabelasTabelas de Formato MistoArrays Tipados Multidimensionaistable.unpack e VarargsRecapitulando: Arrays e MapsPratique por conta própria: Compilador de Lua online