Añadir y Modificar Pares
Parte de la sección Fundamentos del Journey de Lua de Coddy. Lección 68 de 90.
Para añadir un nuevo par clave-valor o modificar uno existente, simplemente usa el operador de asignación con la notación de punto o la notación de corchetes:
local player = {
["name"] = "Alex",
["level"] = 5
}
-- Añade un nuevo par clave-valor
player.gold = 100
-- Modifica un valor existente
player.level = 6La ventaja 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 la notación de punto o la notación de corchetes para estas operaciones:
-- Ambas formas funcionan de la misma manera
player.class = "Warrior"
player["weapon"] = "Sword"Desafío
FácilCrea un sistema de progresión de personaje que demuestre tanto cómo añadir atributos nuevos como modificar los existentes. Empieza creando una tabla llamada hero con los siguientes pares clave-valor iniciales: a ["name"] se le debe asignar la cadena "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" usando la notación de punto. A continuación, modifica el valor existente de level a 7 usando la notación de corchetes. Por último, añade otro par clave-valor nuevo ["mana"] con el valor 80 usando la notación de corchetes.
Las líneas debajo de tu código imprimen la clase y el nivel del héroe, para que puedas comprobar los cambios.
Pruébalo tú mismo
-- Crea la tabla hero inicial
local hero = {
-- TODO: Añade aquí los pares clave-valor iniciales
}
-- TODO: Añade nuevos atributos y modifica los existentes usando la notación de punto y de corchetes
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
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 áreaPractica por tu cuenta: Compilador de Lua online