סיכום: פונקציות גנריות
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 62 מתוך 73.
אתגר
בינונישלבו כינויים גנריים ופונקציות גנריות בתוכנית אחת.
הגדירו כינוי טיפוס גנרי בשם Pair עם שני פרמטרי טיפוס T ו-U, שמתאר טבלה עם:
firstמטיפוסTsecondמטיפוסU
צרו פונקציה גנרית בשם makePair שמצהירה על T ו-U, מקבלת את first: T ואת second: U, ומחזירה אותם ארוזים בתוך Pair<T, U>.
צרו פונקציה גנרית בשם describePair שמצהירה על T ו-U, מקבלת pair: Pair<T, U>, ומחזירה את המחרוזת ({first}, {second}) שנבנית באמצעות אינטרפולציה של מחרוזות (טיפוס ההחזרה string).
לאחר מכן:
- צרו את
playerScoreמטיפוסPair<string, number>באמצעות קריאה ל-makePair("<code>Nova", 87) - צרו את
levelDoneמטיפוסPair<number, boolean>באמצעות קריאה ל-makePair(3, true) - הדפיסו את
playerScore.first - הדפיסו את
playerScore.second - הדפיסו את
describePair(playerScore) - הדפיסו את
describePair(levelDone) - הדפיסו את
describePair(makePair("Luau", 2026))בשורה אחת
נסו בעצמכם
-- כתבו כאן קוד
-- 1) הגדירו את הטיפוס Pair<T, U> = {first: T, second: U}
-- 2) הגדירו את makePair<T, U>(first: T, second: U): Pair<T, U>
-- 3) הגדירו את describePair<T, U>(pair: Pair<T, U>): string
-- שמחזירה `({pair.first}, {pair.second})`
-- 4) צרו את playerScore (הטקסט המדויק מההוראות, 87) ואת levelDone (3, true),
-- ואז הדפיסו את חמש השורות הנדרשות
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים2טיפוסי ליבה
טיפוסים בסיסיים: num, str, boolהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוסים מפורשותסיכום: תרגול טיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספת איברים וקריאתםמהו טיפוס Map?הצהרה על מפות וגישה אליהןמעבר על טבלאותטבלאות בעלות מבנים מעורביםמערכים רב־ממדיים מטיפוס מוגדרtable.unpack ו־Varargsסיכום: מערכים ומפות6הוספת טיפוסים למבני טבלה
הערות טיפוס בשורה למבניםכינויי טיפוס למבניםמאפיינים אופציונלייםמבנים לעומת טבלאות לא מובנותהרחבת מבניםהוספת מתודות למבניםSelf ומתודות עם נקודתייםסיכום: הגדרת מבני טבלה9מבט ראשון על טיפוסים גנריים
הבעיה שטיפוסים גנריים פותריםפונקציית זהות גנריתשימוש בפונקציה גנריתמערכים גנרייםכינויי טיפוס גנרייםסיכום: פונקציות גנריותתרגלו בעצמכם: קומפיילר Luau אונליין