Menu
CoddyTech

قائمة الأسلحة

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

challenge icon

التحدي

سهل

املأ مخزونًا للأسلحة محدد النوع باستخدام addItem.

  1. احذف الأسطر الموجودة أسفل -- Try it.
  2. أنشئ فوقه local weapons: {Item<{damage: number}>} = {}.
  3. استخدم addItem لإضافة "Iron Sword" مع {damage = 25}، ثم "Fire Axe" مع {damage = 40}.
  4. أسفل -- Try it، اطبع #weapons وweapons[2].name.

اضغط على Run Code: سيُظهر الناتج 2 وFire Axe.

جرّب بنفسك

-- بنية العنصر المشتركة بين جميع قوائم الجرد
type Item<T> = {
    id: number,
    name: string,
    data: T,
}
local sword: Item<{damage: number}> = {id = 1, name = "Iron Sword", data = {damage = 25}}
local potion: Item<{heal: number}> = {id = 2, name = "Health Potion", data = {heal = 40}}
-- أنشئ عنصرًا باستخدام أول id متاح، ثم خزّنه وأعِده
local function addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>
    local item: Item<T> = {id = #inventory + 1, name = name, data = data}
    table.insert(inventory, item)
    return item
end
-- جرّبه
print(addItem({}, "Old Map", "torn").id)

جميع دروس مقدمة إلى Luau

تدرّب بنفسك: مترجم Luau عبر الإنترنت