Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

دالة: إضافة عناصر

جزء من قسم مقدمة إلى Luau في رحلة Lua على Coddy — الدرس 64 من 73.

challenge icon

التحدي

سهل

قم بتوسيع مشروعك من الدرس السابق (احتفظ بنوع Item<T>).

  • اكتب دالة عامة (generic function) باسم addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T> تقوم بإنشاء عنصر برقم معرّف id = #inventory + 1، وتدرجه في inventory باستخدام table.insert، ثم تقوم بإرجاعه.
  • أنشئ مصفوفة منوعة نوعياً (typed array) فارغة باسم 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