Menu
Coddy logo textTech

Доступ: квадратные скобки

Часть раздела Fundamentals путешествия по Lua на Coddy — урок 66 из 90.

Чтобы получить доступ к значению в таблице типа словаря, используйте ключ внутри квадратных скобок.

Синтаксис для доступа к значениям с использованием квадратных скобок прост:

local player = {
    ["name"] = "Alex",
    ["score"] = 1500,
    ["level"] = 8
}

print(player["name"])   -- выводит: Alex
print(player["score"])  -- выводит: 1500

Вы просто пишете имя таблицы, за которым следуют квадратные скобки, содержащие ключ в виде строки. Это указывает Lua найти этот конкретный ключ и вернуть соответствующее ему значение.

local monster = {
    ["type"] = "Dragon",
    ["hp"] = 200,
    ["damage"] = 50
}

local currentHealth = monster["hp"]
print(currentHealth)  -- выводит: 200
challenge icon

Задание

Легко

Создайте систему исследования подземелий, которая демонстрирует доступ к информации о монстрах с использованием синтаксиса квадратных скобок. Сначала создайте таблицу с именем monster со следующими парами ключ-значение: ["type"] должна быть присвоена строка "Orc", ["health"] должно быть присвоено число 75, ["attack"] должно быть присвоено число 15, и ["defense"] должно быть присвоено число 8. После создания таблицы используйте синтаксис квадратных скобок, чтобы получить доступ и вывести значение здоровья монстра.

Шпаргалка

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

local player = {
    ["name"] = "Alex",
    ["score"] = 1500,
    ["level"] = 8
}

print(player["name"])   -- выводит: Alex
print(player["score"])  -- выводит: 1500

Вы также можете сохранять полученные значения в переменных:

local currentHealth = monster["hp"]
print(currentHealth)  -- выводит значение hp

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

-- TODO: Создайте таблицу monster с необходимыми парами ключ-значение

-- TODO: Используйте квадратные скобки для доступа и вывода значения здоровья монстра
quiz iconПроверьте себя

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

Все уроки раздела Fundamentals