Menu
Coddy logo textTech

Удаление пар с помощью nil

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

Когда вы присваиваете nil ключу, Lua фактически удаляет эту пару ключ-значение из таблицы:

local settings = {
    ["volume"] = 80,
    ["difficulty"] = "normal",
    ["music"] = true
}

-- Удалить настройку difficulty
settings.difficulty = nil

-- Теперь ключ difficulty больше не существует в таблице

Вы можете использовать точечную нотацию или скобочную нотацию, чтобы удалить пару «ключ-значение». И settings.difficulty = nil, и settings["difficulty"] = nil работают совершенно одинаково.

После присваивания nil ключу этот ключ полностью исчезает из таблицы. Если позже попытаться получить к нему доступ, в результате вы получите nil, как если бы этого ключа изначально никогда не существовало.

challenge icon

Задание

Легко

Создай систему конфигурации игры, демонстрирующую удаление ненужных настроек из таблицы в стиле словаря. Начни с создания таблицы с именем gameConfig со следующими парами ключ-значение: ["graphics"] должна быть присвоена строка "high", ["sound"] должно быть присвоено число 75, ["difficulty"] должна быть присвоена строка "normal", а ["debug"] должно быть присвоено логическое значение true.

После создания исходной таблицы конфигурации удали настройку debug, присвоив ей nil с использованием точечной нотации. Затем выведи оставшуюся настройку звука, чтобы убедиться, что таблица по-прежнему содержит остальные значения.

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

-- TODO: Напишите свой код здесь
-- Создайте таблицу gameConfig с требуемыми парами ключ-значение
-- Удалите настройку debug, используя точечную нотацию
-- Выведите настройку sound
quiz iconПроверьте себя

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

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

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