Añadir y Modificar Pares
Parte de la sección Fundamentals del Journey de Lua de Coddy — lección 68 de 90.
Para añadir un nuevo par clave-valor o modificar uno existente, simplemente utiliza el operador de asignación con la notación de punto o la notación de corchetes:
local player = {
["name"] = "Alex",
["level"] = 5
}
-- Añadir un nuevo par clave-valor
player.gold = 100
-- Modificar un valor existente
player.level = 6La belleza de este enfoque es que Lua no distingue entre añadir y modificar. Si la clave "gold" no existe en la tabla, se crea con el valor 100. Si la clave "level" ya existe, su valor se actualiza a 6.
Puedes usar tanto la notación de punto como la de corchetes para estas operaciones:
-- Ambas funcionan de la misma manera
player.class = "Warrior"
player["weapon"] = "Sword"Desafío
FácilCrea un sistema de progresión de personajes que demuestre tanto la adición de nuevos atributos como la modificación de los existentes. Comienza creando una tabla llamada hero con los siguientes pares clave-valor iniciales: a ["name"] se le debe asignar el string "Warrior", a ["level"] se le debe asignar el número 5, y a ["health"] se le debe asignar el número 120.
Después de crear la tabla inicial del personaje, realiza las siguientes modificaciones: Primero, añade un nuevo par clave-valor ["class"] con el valor "Paladin" utilizando la notación de punto. A continuación, modifica el valor de level existente a 7 utilizando la notación de corchetes. Finalmente, añade otro nuevo par clave-valor ["mana"] con el valor 80 utilizando la notación de corchetes.
Una vez completadas todas las modificaciones, imprime la clase del héroe y el nivel actualizado para verificar los cambios.
Hoja de referencia
Para añadir un nuevo par clave-valor o modificar uno existente en una tabla, utiliza el operador de asignación con la notación de punto o la notación de corchetes:
local player = {
["name"] = "Alex",
["level"] = 5
}
-- Add a new key-value pair
player.gold = 100
-- Modify an existing value
player.level = 6Lua no distingue entre añadir y modificar: si la clave no existe, se crea; si ya existe, su valor se actualiza.
Tanto la notación de punto como la de corchetes funcionan para estas operaciones:
-- Both work the same way
player.class = "Warrior"
player["weapon"] = "Sword"Pruébalo tú mismo
-- Crear la tabla inicial del héroe
local hero = {
-- TODO: Agregar los pares clave-valor iniciales aquí
}
-- TODO: Agregar nuevos atributos y modificar los existentes usando la notación de punto y corchetes
-- Mostrar la clase del héroe y el nivel actualizado
print(hero.class)
print(hero.level)Esta 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