Итоги: Перечисления в стиле Luau
Часть раздела Введение в Luau путешествия по Lua на Coddy — урок 56 из 73.
Задание
СреднеСоздайте объединение литеральных типов OrderStatus с членами "pending", "shipped", "delivered" и "cancelled".
Создайте псевдоним структуры Order со следующими полями:
idтипаnumbercustomerNameтипаstringstatusтипаOrderStatus
Создайте три заказа:
order1— id1001,"Alice Johnson", status"pending"order2— id1002,"Bob Smith", status"shipped"order3— id1003,"Carol Davis", status"delivered"
Создайте функцию displayOrderInfo, которая принимает Order и выводит Order #[id] for [customerName] is [status].
Создайте замороженную (frozen) константную таблицу Priority со значениями Low = 1, Normal = 2, High = 3.
Затем по порядку:
- вызовите
displayOrderInfoдля каждого из трех заказов - выведите статус
order2 - выведите
Priority.High - выведите, заморожена ли таблица
Priority
Попробуйте сами
-- Напишите код здесь
-- 1) определите тип OrderStatus (literal union) и тип Order (shape)
-- 2) создайте order1, order2, order3
-- 3) напишите displayOrderInfo
-- 4) создайте замороженную таблицу Priority
-- 5) выведите шесть запрошенных строк
Все уроки раздела Введение в Luau
1Начало работы с Luau
Что такое Luau?Почему именно Luau?Ваш первый код на LuauПроверка типов и режимы ошибокИтоги: Введение в Luau4Работа с функциями
Типизация параметров и возвращаемых значенийТипизация анонимных функцийФункции, ничего не возвращающиеНеобязательные параметрыЗначения параметров по умолчаниюФункции с переменным числом аргументовОпределение типов функцийИтоги: типизированные функции2Базовые типы
Основные типы: num, str, boolТип 'any': лазейка в типизацииТип 'unknown'Nil и опциональные типыВывод типов на практикеЯвные аннотации типовИтоги: практика по базовым типам5Псевдонимы, объединения и пересечения
Псевдонимы типов для примитивовТипы объединения (Union)Работа с типами объединенияЛитеральные типыТипы пересечения (Intersection)Комбинирование псевдонимов типовИтоги: Сложные комбинации типов8Перечисления в стиле Luau
Паттерн перечислений (Enum) в LuauЧисловые перечисления с помощью таблицСтроковые перечисления как объединенияИспользование перечислений на основе литеральных объединенийЗамораживание константных таблицИтоги: Перечисления в стиле Luau3Типизированные таблицы: Массивы и Map-словари
Типизированные массивыДобавление и чтение элементовЧто такое тип Map?Объявление и доступ к Map-словарямИтерация по таблицамТаблицы смешанной формыМногомерные типизированные массивыtable.unpack и VarargsИтоги: Массивы и Map-словари