Доступ через точечную нотацию
Часть раздела Fundamentals путешествия по Lua на Coddy — урок 67 из 90.
Lua предлагает более удобную альтернативу, называемую точечной нотацией. Это более чистый и читаемый способ доступа к значениям, когда ваши ключи являются простыми строками.
Вместо того чтобы писать player["score"], вы можете просто написать player.score:
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- выводит: Alex
print(player.score) -- выводит: 1500Точечная нотация — это то, что программисты называют «синтаксическим сахаром»: это более приятный способ записи того же самого. Однако она работает только тогда, когда ваш ключ является допустимым идентификатором Lua, то есть содержит только буквы, цифры и подчеркивания и не начинается с цифры.
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- выводит: Lua ProgrammingЗадание
ЛегкоСоздайте систему управления библиотекой, которая демонстрирует доступ к информации о книге с использованием точечной нотации. Сначала создайте таблицу с именем book со следующими парами ключ-значение: ["title"] должно быть присвоено строковое значение "The Lua Guide", ["author"] должно быть присвоено строковое значение "Roberto Ierusalimschy", ["pages"] должно быть присвоено число 328, а ["year"] должно быть присвоено число 2016. После создания таблицы используйте точечную нотацию для доступа и вывода названия книги.
Шпаргалка
Lua предоставляет точечную нотацию как более чистую альтернативу скобочной нотации для доступа к значениям таблицы, когда ключи являются простыми строками:
local player = {
["name"] = "Alex",
["score"] = 1500,
["level"] = 8
}
print(player.name) -- выводит: Alex
print(player.score) -- выводит: 1500Точечная нотация работает только тогда, когда ваш ключ является допустимым идентификатором Lua (содержит только буквы, цифры и подчеркивания и не начинается с цифры):
local book = {
["title"] = "Lua Programming",
["pages"] = 300
}
local bookTitle = book.title
print(bookTitle) -- выводит: Lua ProgrammingПопробуйте сами
-- TODO: Создайте таблицу book с необходимыми парами ключ-значение
-- 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'Повторение — Калькулятор площади