Menu
CoddyTech

Чтение сетки

Часть раздела Введение в 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.

challenge icon

Задание

Легко

Считай две ячейки из типизированной сетки.

  1. Объяви local gameGrid: {{number}} со строками {2, 4, 6}, {8, 10, 12} и {14, 16, 18}.
  2. Выведи ячейку в строке 2, столбце 1: gameGrid[2][1].
  3. Выведи ячейку в строке 3, столбце 3.

Нажми Запустить код: в выводе появятся 8 и 18.

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

-- 1) объяви gameGrid: {{number}} с тремя строками
-- 2) выведи строку 2, столбец 1, затем строку 3, столбец 3

Все уроки раздела Введение в Luau

Потренируйтесь самостоятельно: Онлайн-компилятор Luau