Acessando Elementos por Índice
Parte da seção Fundamentals do Journey de Lua da Coddy — lição 58 de 90.
Para acessar um elemento específico em uma tabela do estilo lista, você usa colchetes com o número da posição do item que você deseja.
Aqui está a sintaxe básica:
local items = {"sword", "shield", "potion"}
print(items[1]) -- saída: sword
print(items[2]) -- saída: shieldHá algo muito importante para lembrar sobre Lua: os índices de tabela começam em 1, não em 0. Isso é diferente de muitas outras linguagens de programação onde o primeiro elemento está na posição 0. Em Lua, o primeiro elemento está sempre no índice 1, o segundo no índice 2, e assim por diante.
local scores = {100, 85, 92}
print(scores[1]) -- primeira pontuação: 100
print(scores[3]) -- terceira pontuação: 92Este sistema de indexação faz com que as tabelas Lua pareçam mais naturais ao pensar sobre posições - o primeiro item está na posição 1, exatamente como você contaria no dia a dia.
Desafio
FácilCrie um sistema de inventário de baú de tesouro que demonstre o acesso a elementos de tabela. Primeiro, crie uma tabela chamada treasureChest contendo exatamente quatro valores de string: "gold coin", "ruby gem", "magic scroll" e "silver key". Após criar a tabela, use a notação de colchetes para acessar e imprimir o terceiro item do baú de tesouro.
Folha de consulta
Para acessar um elemento específico em uma tabela, use colchetes com o número da posição:
local items = {"sword", "shield", "potion"}
print(items[1]) -- saída: sword
print(items[2]) -- saída: shieldImportante: Os índices de tabelas em Lua começam em 1, não em 0. O primeiro elemento está no índice 1, o segundo no índice 2, e assim por diante.
local scores = {100, 85, 92}
print(scores[1]) -- primeira pontuação: 100
print(scores[3]) -- terceira pontuação: 92Experimente você mesmo
-- TODO: Criar a tabela treasureChest com os quatro itens
-- TODO: Acessar e imprimir o terceiro item do baú de tesouroEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Operadores 2 Relacionais e Lógicos
Operadores de IgualdadeOperadores RelacionaisO Operador 'and'O Operador 'or'O Operador 'not'Avaliação de Curto-CircuitoValores Truthy e FalsyRecapitulação - Lógica Simples7Lógica Condicional Básica
A instrução if-thenA instrução if-then-elseA instrução elseifRecapitulação - Baú do Tesouro10Tabelas Parte 1: Estilo de Lista
O que é uma Tabela?Criando uma TabelaAcessando Elementos por ÍndiceModificando Elementos por ÍndiceO Operador de Comprimento '#'table.insert()table.remove()Recapitulação - Gerenciar Membros do Grupo2Variáveis e Tipos de Dados
O que é uma Variável?NúmerosStringsBooleanosO Valor 'nil'A Função type()Convenções de NomenclaturaRecapitulação - Perfil de Personagem5Saída Básica
Imprimindo LiteraisImprimindo VariáveisImprimindo Múltiplos ValoresCombinando Strings e VariáveisA Função tostring()EntradaCastRecapitulação - Relatório de StatusRecapitulação - Até 1208Fundamentos de Manipulação de Strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Revisão - Formatar Nome de Usuário3Operadores 1: Aritmética e Concatenação
Operadores AritméticosOperador de MóduloOperador de ExponenciaçãoConcatenação de StringsPrecedência de OperadoresRecapitulação - Cálculos Simples6Projeto: Exibição de Atributos do Personagem
Mensagem de Boas-vindasDeclarar Atributos do Personagem9Fundamentos de Funções
Declarando uma FunçãoChamando uma FunçãoFunções com ParâmetrosFunções com Múltiplos ParâmetrosA Instrução 'return'Recapitulação - Calculadora de Área