Доступ: квадратные скобки
Часть раздела 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Задание
ЛегкоСоздайте систему исследования подземелий, которая демонстрирует доступ к информации о монстрах с использованием синтаксиса квадратных скобок. Сначала создайте таблицу с именем 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: Используйте квадратные скобки для доступа и вывода значения здоровья монстраВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы 2: Сравнение и логика
Операторы равенстваОператоры сравненияОператор 'and'Оператор 'or'Оператор 'not'Сокращенные вычисленияЗначения Truthy и FalsyИтоги: Простая логика7Основы условной логики
Оператор if-thenОператор if-then-elseОператор elseifИтоги — Сундук с сокровищами10Таблицы, часть 1: Списки
Что такое таблица?Создание таблицыДоступ к элементам по индексуИзменение элементов по индексуОператор длины '#'table.insert()table.remove()Итоги: управление участниками группы13Проект: Простой магазин зелий
Настройка проектаДобавление зелья2Переменные и типы данных
Что такое переменная?ЧислаСтрокиБулевы значенияЗначение 'nil'Функция type()Правила именованияИтоги — Профиль персонажа5Базовый вывод
Вывод литераловВывод переменныхВывод нескольких значенийОбъединение строк и переменныхФункция tostring()ВводПриведение типовПовторение — Отчет о состоянииПовторение — До 1208Основы работы со строками
string.len()string.upper и string.lowerstring.sub()string.rep()string.find()Повторение — Форматирование имени пользователя11Таблицы 2: Словарный стиль
Пары ключ-значениеСоздание таблиц-словарейДоступ: квадратные скобкиДоступ через точечную нотациюДобавление и изменение парУдаление пар с помощью nilИтоги: свойства элементов3Операторы 1: Арифметика и конкатенация
Арифметические операторыОператор остатка от деленияОператор возведения в степеньКонкатенация строкПриоритет операторовПовторение: Простые вычисления6Проект: Вывод характеристик персонажа
Приветственное сообщениеОбъявление характеристик персонажа9Основы функций
Объявление функцииВызов функцииФункции с параметрамиФункции с несколькими параметрамиОператор 'return'Повторение — Калькулятор площади