Menu
CoddyTech

Arrays Tipados

Parte da seção Introdução ao Luau do Journey de Lua da Coddy. Lição 13 de 80.

Matrizes tipadas são um dos recursos mais úteis do Luau para organizar vários valores mantendo a segurança de tipos.

Em Lua, uma matriz é apenas uma tabela com valores nas posições 1, 2, 3, …, e ela pode conter tranquilamente um número, uma string e um booleano ao mesmo tempo. O Luau permite declarar que uma tabela deve conter elementos de apenas 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 uma matriz tipada, o verificador de tipos do Luau garante que somente valores do tipo declarado sejam inseridos nela. Insira uma string em uma matriz {number} e você receberá 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 número

Tudo o que você já sabe sobre tabelas de Lua continua valendo: as matrizes têm índice baseado em 1 (scores[1] é o primeiro elemento), #scores é o comprimento, e table.insert / table.remove funcionam normalmente. A anotação acrescenta segurança, não um novo comportamento em tempo de execução.

challenge icon

Desafio

Fácil

Armazene pontuações e nomes em arrays tipados.

  1. Declare local scores: {number} = {85, 92, 78}.
  2. Declare local studentNames: {string} = {"Alice", "Bob", "Charlie"}.
  3. Imprima scores[1], #scores e studentNames[2], um por linha.

Pressione Executar código: a saída mostra 85, 3 e Bob.

Experimente você mesmo

-- 1) declare scores: {number} e studentNames: {string}
-- 2) imprima a primeira pontuação, a quantidade de pontuações e o segundo nome

Todas as lições de Introdução ao Luau

Pratique por conta própria: Compilador de Luau online