Доступ к элементам по индексу
Часть раздела Fundamentals путешествия по Lua на Coddy — урок 58 из 90.
Для доступа к конкретному элементу в таблице типа списка используйте квадратные скобки с номером позиции нужного вам элемента.
Вот базовый синтаксис:
local items = {"sword", "shield", "potion"}
print(items[1]) -- выводит: sword
print(items[2]) -- выводит: shieldЕсть кое-что очень важное, что нужно помнить о Lua: индексы таблиц начинаются с 1, а не с 0. Это отличается от многих других языков программирования, где первый элемент находится на позиции 0. В Lua первый элемент всегда находится по индексу 1, второй — по индексу 2 и так далее.
local scores = {100, 85, 92}
print(scores[1]) -- первый результат: 100
print(scores[3]) -- третий результат: 92Эта система индексации делает таблицы Lua более естественными при размышлении о позициях — первый элемент находится на позиции 1, совсем как при обычном счете в повседневной жизни.
Задание
ЛегкоСоздайте систему инвентаря сундука с сокровищами, которая демонстрирует доступ к элементам таблицы. Сначала создайте таблицу с именем treasureChest, содержащую ровно четыре строковых значения: "gold coin", "ruby gem", "magic scroll" и "silver key". После создания таблицы используйте нотацию с квадратными скобками, чтобы получить доступ и вывести на экран третий элемент из сундука с сокровищами.
Шпаргалка
Чтобы получить доступ к конкретному элементу в таблице, используйте квадратные скобки с номером позиции:
local items = {"sword", "shield", "potion"}
print(items[1]) -- выводит: sword
print(items[2]) -- выводит: shieldВажно: Индексы таблиц в Lua начинаются с 1, а не с 0. Первый элемент находится под индексом 1, второй — под индексом 2 и так далее.
local scores = {100, 85, 92}
print(scores[1]) -- первый результат: 100
print(scores[3]) -- третий результат: 92Попробуйте сами
-- TODO: Создайте таблицу treasureChest с четырьмя предметами
-- 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()Повторение — Форматирование имени пользователя3Операторы 1: Арифметика и конкатенация
Арифметические операторыОператор остатка от деленияОператор возведения в степеньКонкатенация строкПриоритет операторовПовторение: Простые вычисления6Проект: Вывод характеристик персонажа
Приветственное сообщениеОбъявление характеристик персонажа9Основы функций
Объявление функцииВызов функцииФункции с параметрамиФункции с несколькими параметрамиОператор 'return'Повторение — Калькулятор площади