Menu
CoddyTech

Добавление и изменение пар

Часть раздела Основы путешествия по Lua на Coddy. Урок 68 из 90.

Чтобы добавить новую пару «ключ-значение» или изменить существующую, просто используйте оператор присваивания с точечной нотацией или нотацией с квадратными скобками:

local player = {
    ["name"] = "Alex",
    ["level"] = 5
}

-- Добавить новую пару ключ-значение
player.gold = 100

-- Изменить существующее значение
player.level = 6

Преимущество этого подхода в том, что Lua не различает добавление и изменение. Если ключ "gold" отсутствует в таблице, он создаётся со значением 100. Если ключ "level" уже существует, его значение обновляется до 6.

Для этих операций можно использовать точечную нотацию или нотацию со скобками:

-- Оба варианта работают одинаково
player.class = "Warrior"
player["weapon"] = "Sword"
challenge icon

Задание

Легко

Создай систему развития персонажа, демонстрирующую добавление новых атрибутов и изменение существующих. Для начала создай таблицу с именем hero со следующими начальными парами ключ-значение: ключу ["name"] должно быть присвоено строковое значение "Warrior", ключу ["level"] — число 5, а ключу ["health"] — число 120.

После создания начальной таблицы персонажа выполни следующие изменения. Сначала добавь новую пару ключ-значение ["class"] со значением "Paladin", используя точечную нотацию. Затем измени существующее значение level на 7, используя нотацию с квадратными скобками. Наконец, добавь ещё одну новую пару ключ-значение ["mana"] со значением 80, используя нотацию с квадратными скобками.

Строки ниже твоего кода выводят класс и уровень героя, чтобы ты мог проверить изменения.

Попробуйте сами

-- Создайте исходную таблицу hero
local hero = {
    -- TODO: Добавьте сюда исходные пары ключ-значение
}

-- TODO: Добавьте новые атрибуты и измените существующие, используя точечную нотацию и квадратные скобки

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Lua