Итоги: Перечисления в стиле Luau
Часть раздела Введение в Luau путешествия по Lua на Coddy. Урок 56 из 73.
Задание
СреднеСоздайте тип literal union OrderStatus с членами "pending", "shipped", "delivered" и "cancelled".
Создайте псевдоним shape 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для каждого из трёх заказов - выведите status
order2 - выведите
Priority.High - выведите, является ли
Priorityfrozen
Попробуйте сами
-- Напишите код здесь
-- 1) определите тип OrderStatus (литеральный union) и тип Order (форма)
-- 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-словариПотренируйтесь самостоятельно: Онлайн-компилятор Lua