Menu
Coddy logo textTech

Функция: Добавление элементов

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

challenge icon

Задание

Легко

Расширьте свой проект из предыдущего урока (сохраните тип Item<T>).

  • Напишите обобщенную функцию addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>, которая создает предмет с id = #inventory + 1, вставляет его в inventory с помощью table.insert и возвращает его.
  • Создайте пустой типизированный массив weapons типа {Item<{damage: number}>}.
  • Используйте addItem, чтобы добавить "Iron Sword" с {damage = 25}, сохранив результат в sword.
  • Используйте addItem, чтобы добавить "Fire Axe" с {damage = 40}, сохранив результат в axe.

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

  1. #weapons
  2. sword.id
  3. sword.name
  4. axe.id
  5. weapons[2].data.damage

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

-- Из предыдущего урока
type Item<T> = {
    id: number,
    name: string,
    data: T,
}

-- Напишите код здесь
-- 1) addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>
-- 2) создайте массив weapons, добавьте Iron Sword и Fire Axe
-- 3) выведите пять запрошенных значений

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