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.
Desafio
FácilLeia duas células de uma grade tipada.
- Declare
local gameGrid: {{number}}com as linhas{2, 4, 6},{8, 10, 12}e{14, 16, 18}. - Imprima a célula na linha 2, coluna 1:
gameGrid[2][1]. - 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
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
Tipagem de parâmetros e valores de retornoTipagem de funções anônimasFunções sem retornoParâmetros opcionaisValores padrão dos parâmetrosValores padrão para booleanosFunções variádicasDefinindo tipos de funçãoRecapitulação: funções tipadas2Tipos básicos
Número, string e booleanoO tipo 'any': válvula de escapeO tipo 'unknown'Tipos nulos e opcionaisInferência de tipos na práticaAnotações explícitas de tipoRevisão: prática com tipos básicos5Aliases, 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 MapsPercorrendo TabelasTabelas com Formatos MistosLendo uma GradeConstruindo uma Gradetable.unpackRevisão: Arrays e MapsPratique por conta própria: Compilador de Luau online