Menu
CoddyTech

Типизированные массивы

Часть раздела Введение в Luau путешествия по Lua на Coddy. Урок 13 из 80.

Типизированные массивы — одна из самых полезных возможностей Luau для организации нескольких значений с сохранением безопасности типов.

В Lua массив — это просто таблица со значениями в позициях 1, 2, 3, …, и в ней вполне могут одновременно храниться число, строка и логическое значение. В Luau можно объявить, что таблица должна содержать элементы только одного типа, используя синтаксис {Type}:

local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}

Когда ты объявляешь типизированный массив, проверка типов Luau гарантирует, что в него попадут только значения объявленного типа. Если вставить строку в массив {number}, при редактировании появится ошибка типа — ещё до запуска кода:

local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ ошибка типа: строка не является числом

Всё, что ты уже знаешь о таблицах Lua, по-прежнему применимо: массивы имеют индексацию с 1 (scores[1] — первый элемент), #scores — это длина, а table.insert / table.remove работают как обычно. Аннотация повышает безопасность, но не меняет поведение во время выполнения.

challenge icon

Задание

Легко

Храните оценки и имена в типизированных массивах.

  1. Объявите local scores: {number} = {85, 92, 78}.
  2. Объявите local studentNames: {string} = {"Alice", "Bob", "Charlie"}.
  3. Выведите scores[1], #scores и studentNames[2], по одному в строке.

Нажмите «Выполнить код»: вывод содержит 85, 3 и Bob.

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

-- 1) объявите scores: {number} и studentNames: {string}
-- 2) выведите первую оценку, количество оценок и второе имя

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

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