Чтение сетки
Часть раздела Введение в Luau путешествия по Lua на Coddy. Урок 19 из 80.
Сетки, доски и матрицы — это массивы массивов, и тип следует той же вложенности: {{number}} — это массив, элементы которого являются массивами {number}.
local grid: {{number}} = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
}
local board: {{string}} = {
{"white", "black"},
{"black", "white"},
}Вложенная индексация читает по одному уровню за раз: grid[2] — это вторая строка (значение типа {number}), а grid[2][1] — первый элемент этой строки: 4. Индексация начинается с 1, поэтому верхний левый угол — это grid[1][1], а не grid[0][0].
Будь внимателен, если строки может не существовать: grid[10] равно nil, поэтому grid[10][1] вызывает ошибку времени выполнения: ты будешь обращаться по индексу к nil.
Задание
ЛегкоСчитай две ячейки из типизированной сетки.
- Объяви
local gameGrid: {{number}}со строками{2, 4, 6},{8, 10, 12}и{14, 16, 18}. - Выведи ячейку в строке 2, столбце 1:
gameGrid[2][1]. - Выведи ячейку в строке 3, столбце 3.
Нажми Запустить код: в выводе появятся 8 и 18.
Попробуйте сами
-- 1) объяви gameGrid: {{number}} с тремя строками
-- 2) выведи строку 2, столбец 1, затем строку 3, столбец 3
Все уроки раздела Введение в Luau
1Начало работы с Luau
Что такое Luau?Почему именно Luau?Ваш первый код на LuauПроверка типов и режимы ошибокИтоги: Введение в Luau4Работа с функциями
Типизация параметров и возвращаемых значенийТипизация анонимных функцийФункции без возвращаемого значенияНеобязательные параметрыЗначения параметров по умолчаниюЗначения по умолчанию для булевых параметровФункции с переменным числом аргументовОпределение типов функцийПовторение: типизированные функции2Основные типы
Число, строка и булево значениеТип 'any': запасной выходТип 'unknown'Nil и опциональные типыВывод типов на практикеЯвные аннотации типовПовторение: практика с основными типами5Псевдонимы, объединения и пересечения
Псевдонимы типов для примитивовТипы объединения (Union)Работа с типами объединенияЛитеральные типыТипы пересечения (Intersection)Комбинирование псевдонимов типовИтоги: Сложные комбинации типов3Типизированные таблицы: массивы и отображения
Типизированные массивыДобавление и чтение элементовЧто такое тип отображения?Объявление и доступ к отображениямПеребор таблицТаблицы смешанной структурыЧтение сеткиСоздание сеткиtable.unpackПовторение: массивы и отображенияПотренируйтесь самостоятельно: Онлайн-компилятор Luau