Menu
Coddy logo textTech

Acessando com Notação de Ponto

Parte da seção Fundamentals do Journey de Lua da Coddy — lição 67 de 90.

Lua oferece uma alternativa mais conveniente chamada notação de ponto. Esta é uma maneira mais limpa e legível de acessar valores quando suas chaves são strings simples.

Em vez de escrever player["score"], você pode simplesmente escrever player.score:

local player = {
    ["name"] = "Alex",
    ["score"] = 1500,
    ["level"] = 8
}

print(player.name)   -- saída: Alex
print(player.score)  -- saída: 1500

A notação de ponto é o que os programadores chamam de "açúcar sintático" - é uma maneira mais agradável de escrever a mesma coisa. No entanto, ela só funciona quando sua chave é um identificador Lua válido, o que significa que contém apenas letras, números e sublinhados, e não começa com um número.

local book = {
    ["title"] = "Lua Programming",
    ["pages"] = 300
}

local bookTitle = book.title
print(bookTitle)  -- saída: Lua Programming
challenge icon

Desafio

Fácil

Crie um sistema de gerenciamento de biblioteca que demonstre o acesso a informações de livros usando a notação de ponto. Primeiro, crie uma tabela chamada book com os seguintes pares chave-valor: ["title"] deve receber a string "The Lua Guide", ["author"] deve receber a string "Roberto Ierusalimschy", ["pages"] deve receber o número 328, e ["year"] deve receber o número 2016. Após criar a tabela, use a notação de ponto para acessar e imprimir o título do livro.

Folha de consulta

Lua fornece a notação de ponto como uma alternativa mais limpa à notação de colchetes para acessar valores de tabela quando as chaves são strings simples:

local player = {
    ["name"] = "Alex",
    ["score"] = 1500,
    ["level"] = 8
}

print(player.name)   -- saída: Alex
print(player.score)  -- saída: 1500

A notação de ponto só funciona quando sua chave é um identificador Lua válido (contém apenas letras, números e sublinhados, e não começa com um número):

local book = {
    ["title"] = "Lua Programming",
    ["pages"] = 300
}

local bookTitle = book.title
print(bookTitle)  -- saída: Lua Programming

Experimente você mesmo

-- TODO: Criar a tabela book com os pares chave-valor necessários

-- TODO: Usar a notação de ponto para acessar e imprimir o título do livro
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentals