Acceso con Notación de Punto
Parte de la sección Fundamentals del Journey de Lua de Coddy — lección 67 de 90.
Lua ofrece una alternativa más conveniente llamada notación de puntos. Esta es una forma más limpia y legible de acceder a los valores cuando las claves son cadenas simples.
En lugar de escribir player["score"], puedes escribir simplemente player.score:
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- salida: Alex
print(player.score) -- salida: 1500La notación de punto es lo que los programadores llaman "azúcar sintáctico": es una forma más agradable de escribir lo mismo. Sin embargo, solo funciona cuando tu clave es un identificador de Lua válido, lo que significa que contiene solo letras, números y guiones bajos, y no comienza con un número.
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- imprime: Lua ProgrammingDesafío
FácilCrea un sistema de gestión de biblioteca que demuestre cómo acceder a la información de un libro utilizando la notación de punto. Primero, crea una tabla llamada book con los siguientes pares clave-valor: a ["title"] se le debe asignar el string "The Lua Guide", a ["author"] se le debe asignar el string "Roberto Ierusalimschy", a ["pages"] se le debe asignar el número 328, y a ["year"] se le debe asignar el número 2016. Después de crear la tabla, utiliza la notación de punto para acceder e imprimir el título del libro.
Hoja de referencia
Lua proporciona la notación de puntos como una alternativa más limpia a la notación de corchetes para acceder a los valores de una tabla cuando las claves son cadenas simples:
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- salida: Alex
print(player.score) -- salida: 1500La notación de puntos solo funciona cuando la clave es un identificador de Lua válido (contiene solo letras, números y guiones bajos, y no comienza con un número):
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- salida: Lua ProgrammingPruébalo tú mismo
-- TODO: Crear la tabla book con los pares clave-valor requeridos
-- TODO: Usar la notación de punto para acceder e imprimir el título del libroEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Operadores 2 Relacionales y Lógicos
Operadores de IgualdadOperadores RelacionalesEl Operador 'and'El Operador 'or'El Operador 'not'Evaluación de CortocircuitoValores Truthy y FalsyResumen - Lógica Simple7Lógica condicional básica
La sentencia if-thenLa sentencia if-then-elseLa sentencia elseifResumen - Cofre del tesoro10Tablas Parte 1: Estilo de lista
¿Qué es una tabla?Crear una tablaAcceder a elementos por índiceModificar elementos por índiceEl operador de longitud '#'table.insert()table.remove()Resumen - Gestionar miembros del grupo13Proyecto: Tienda de pociones sencilla
Configuración del proyectoAñadir una poción2Variables y tipos de datos
¿Qué es una variable?NúmerosStringsBooleanosEl valor 'nil'La función type()Convenciones de nomenclaturaResumen - Perfil de personaje5Salida básica
Imprimir literalesImprimir variablesImprimir múltiples valoresCombinar cadenas y variablesLa función tostring()EntradaConversión de tipos (Cast)Resumen - Informe de estadoResumen - Hasta 1208Fundamentos de manipulación de strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Repaso - Formatear nombre de usuario11Tablas 2: Estilo Diccionario
Pares Clave-ValorCreación de Tablas Estilo DiccionarioAcceso - Notación de CorchetesAcceso con Notación de PuntoAñadir y Modificar ParesEliminar Pares con nilResumen - Propiedades de Elementos3Operadores 1: Aritmética y Concatenación
Operadores aritméticosOperador de móduloOperador de exponenciaciónConcatenación de stringsPrecedencia de operadoresResumen: Cálculos sencillos6Proyecto: Mostrar estadísticas del personaje
Mensaje de bienvenidaDeclarar estadísticas del personaje9Fundamentos de las funciones
Declarar una funciónLlamar a una funciónFunciones con parámetrosFunciones con múltiples parámetrosLa sentencia 'return'Repaso - Calculadora de área