Menu
CoddyTech

Lendo uma Grade

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

Grades, tabuleiros e matrizes são arrays de arrays, e o tipo segue o mesmo aninhamento: {{number}} é um array cujos elementos são arrays {number}.

local grid: {{number}} = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9},
}

local board: {{string}} = {
    {"white", "black"},
    {"black", "white"},
}

A indexação aninhada lê um nível por vez: grid[2] é a segunda linha (um {number}), e grid[2][1] é o primeiro elemento dessa linha: 4. Ambos os índices são baseados em 1, então o canto superior esquerdo é grid[1][1], não grid[0][0].

Fique atento quando uma linha talvez não exista: grid[10] é nil, então grid[10][1] gera um erro em tempo de execução: você estaria indexando nil.

challenge icon

Desafio

Fácil

Leia duas células de uma grade tipada.

  1. Declare local gameGrid: {{number}} com as linhas {2, 4, 6}, {8, 10, 12} e {14, 16, 18}.
  2. Imprima a célula na linha 2, coluna 1: gameGrid[2][1].
  3. Imprima a célula na linha 3, coluna 3.

Pressione Executar código: a saída mostra 8 e 18.

Experimente você mesmo

-- 1) declare gameGrid: {{number}} com três linhas
-- 2) imprima a linha 2, coluna 1, depois a linha 3, coluna 3

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

Pratique por conta própria: Compilador de Luau online