פונקציה: הוספת פריטים
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 64 מתוך 73.
אתגר
קלהרחב את הפרויקט שלך מהשיעור הקודם (השאר את הטיפוס 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.
לאחר מכן הדפס, כל אחד בשורה נפרדת:
#weaponssword.idsword.nameaxe.idweapons[2].data.damage
נסו בעצמכם
-- The generic item shape every inventory will share
type Item<T> = {
id: number,
name: string,
data: T,
}
-- A weapon item: T is filled in with {damage: number}
local sword: Item<{damage: number}> = {
id = 1,
name = "Iron Sword",
data = {damage = 25},
}
-- A potion item: same shape, different data type
local potion: Item<{heal: number}> = {
id = 2,
name = "Health Potion",
data = {heal = 40},
}
print(sword.id)
print(sword.name)
print(sword.data.damage)
print(potion.id)
print(potion.name)
print(potion.data.heal)
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים7פרויקט: מנהל משימות עם טיפוסים
פרויקט: מבנה המשימהפונקציה להוספת משימה10פרויקט: מלאי גנרי
פרויקט: פריט מלאיפונקציה: הוספת פריטים2טיפוסי ליבה
טיפוסים בסיסיים: num, str, boolהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוסים מפורשותסיכום: תרגול טיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספת איברים וקריאתםמהו טיפוס Map?הצהרה על מפות וגישה אליהןמעבר על טבלאותטבלאות בעלות מבנים מעורביםמערכים רב־ממדיים מטיפוס מוגדרtable.unpack ו־Varargsסיכום: מערכים ומפותתרגלו בעצמכם: קומפיילר Luau אונליין