Menu
Coddy logo textTech

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 = 6

La 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"
challenge icon

Desafío

Fácil

Crea 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 = 6

Lua 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)
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals