Menu
Coddy logo textTech

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

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

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

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

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

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

local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ ошибка типа: string is not a number

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

challenge icon

Задание

Легко

Create типизированный массив с именем scores, который может содержать только значения типа number, инициализированный значениями 85, 92 и 78.

Create второй типизированный массив с именем studentNames, который может содержать только строки, инициализированный значениями "Alice", "Bob" и "Charlie".

Затем выведи каждое значение в отдельной строке:

  1. первый элемент scores
  2. количество элементов scores (используй #)
  3. второе имя студента

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

-- Напишите код здесь
-- 1) объявите scores: {number} и studentNames: {string}
-- 2) выведите первый score, количество scores и второе имя
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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

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