פונקציה: הוספת פריטים
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 68 מתוך 80.
אתגר
קלהוסיפו פונקציה שמכניסה פריטים למלאי.
- מחקו את השורות שמתחת ל־
-- Try it. - מעליה, כתבו
local function addItem<T>(inventory: {Item<T>}, name: string, data: T): Item<T>: הכניסו את{id = #inventory + 1, name = name, data = data}אלinventoryוהחזירו אותו. - מתחת ל־
-- Try it, הדפיסוaddItem({}, "Old Map", "torn").id.
לחצו על Run Code: הפלט מציג 1.
נסו בעצמכם
-- המבנה של הפריטים המשותף לכל המלאים
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}}
-- נסו את זה
print(sword.name)
print(potion.data.heal)
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםערכי ברירת מחדל לבוליאניםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים7פרויקט: מנהל משימות עם טיפוסים
פרויקט: מבנה המשימהפונקציה להוספת משימה10פרויקט: מלאי גנרי
פרויקט: פריט מלאיפונקציה: הוספת פריטים2טיפוסי ליבה
מספר, מחרוזת ובוליאניהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוס מפורשותסיכום: תרגול בטיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספה וקריאה של איבריםמהו טיפוס Map?הגדרה וגישה למפותמעבר על טבלאותטבלאות במבנים מעורביםקריאת רשתבניית רשתtable.unpackסיכום: מערכים ומפותתרגלו בעצמכם: קומפיילר Luau אונליין