Проект: Элемент инвентаря
Часть раздела Введение в Luau путешествия по Lua на Coddy — урок 63 из 73.
Задание
ЛегкоНачните проект инвентаря с определения его базового типа и двух предметов.
- Объявите обобщенный псевдоним типа
Item<T>с полямиid: number,name: stringиdata: T. - Создайте
swordтипаItem<{damage: number}>сid = 1,name = "Iron Sword"иdata = {damage = 25}. - Создайте
potionтипаItem<{heal: number}>сid = 2,name = "Health Potion"иdata = {heal = 40}.
Затем выведите на экран, каждое значение на отдельной строке:
sword.idsword.namesword.data.damagepotion.idpotion.namepotion.data.heal
Попробуйте сами
-- Напишите код здесь
-- 1) объявите обобщённый тип Item<T> с id, name и data
-- 2) создайте sword (Item<{damage: number}>) и potion (Item<{heal: number}>)
-- 3) выведите шесть запрошенных полей, по одному на строку
Все уроки раздела Введение в Luau
1Начало работы с Luau
Что такое Luau?Почему именно Luau?Ваш первый код на LuauПроверка типов и режимы ошибокИтоги: Введение в Luau4Работа с функциями
Типизация параметров и возвращаемых значенийТипизация анонимных функцийФункции, ничего не возвращающиеНеобязательные параметрыЗначения параметров по умолчаниюФункции с переменным числом аргументовОпределение типов функцийИтоги: типизированные функции7Проект: Типизированный менеджер задач
Проект: Структура задачиФункция для добавления задачи10Проект: Обобщенный инвентарь
Проект: Элемент инвентаряФункция: Добавление элементов2Базовые типы
Основные типы: num, str, boolТип 'any': лазейка в типизацииТип 'unknown'Nil и опциональные типыВывод типов на практикеЯвные аннотации типовИтоги: практика по базовым типам5Псевдонимы, объединения и пересечения
Псевдонимы типов для примитивовТипы объединения (Union)Работа с типами объединенияЛитеральные типыТипы пересечения (Intersection)Комбинирование псевдонимов типовИтоги: Сложные комбинации типов3Типизированные таблицы: Массивы и Map-словари
Типизированные массивыДобавление и чтение элементовЧто такое тип Map?Объявление и доступ к Map-словарямИтерация по таблицамТаблицы смешанной формыМногомерные типизированные массивыtable.unpack и VarargsИтоги: Массивы и Map-словари