הערות טיפוס בשורה למבנים
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 39 מתוך 80.
ב-Lua השתמשת בטבלאות בתור רשומות במשך זמן רב: local user = {name = "Ana", age = 20}. אין שום דבר שמונע ממך לאיית שדה לא נכון, לשכוח שדה או לאחסן מחרוזת במקום שבו אמור להיות מספר. מגלים זאת רק כשהקוד רץ.
Luau מאפשרת לתאר את המבנה של טבלה כזאת ישירות בהצהרה, ולפרט כל שדה ואת הטיפוס שלו בתוך סוגריים מסולסלים:
local user: {name: string, age: number} = {
name = "Ana",
age = 20,
}השווי זאת לטיפוסי הטבלאות שכבר מוכרים לך: {number} מתאר מערך, ו-{[string]: number} מתאר מפה עם מפתחות מחרוזת כלשהם. מבנה הוא מדויק יותר. הוא נותן שם לכל שדה בנפרד ומגדיר טיפוס משלו לכל שדה.
לאחר שהמבנה הוצהר, בודק הטיפוסים מאמת את הטבלה מולו בזמן העריכה. שדה חסר או ערך מהטיפוס הלא נכון מסומנים לפני שהקוד בכלל רץ:
local user: {name: string, age: number} = {
name = "Ana",
age = "twenty", -- ✗ שגיאת טיפוס: string אינו מספר
}כמו תמיד, ההערה לא מוסיפה התנהגות בזמן ריצה: הטבלה היא טבלת Lua רגילה. מבנים מוטבעים מושלמים למבנים חד-פעמיים שלא מתכוונים להשתמש בהם מחדש; בשיעור הבא תיתן למבנים שם.
אתגר
קלתאר רשומת תלמיד ישירות בהצהרה שלה.
- הצהר על
local student: {name: string, studentId: number} = {name = "Sarah Johnson", studentId = 12345}. - הדפס את
student.name, ואז אתstudent.studentId.
לחץ על Run Code: הפלט מציג את Sarah Johnson ואת 12345.
נסו בעצמכם
-- 1) הכריזו על student עם הערת טיפוס המגדירה את המבנה שלו ישירות בקוד
-- 2) הדפיסו את השם שלו, ואז את ה-studentId שלו
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםערכי ברירת מחדל לבוליאניםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים2טיפוסי ליבה
מספר, מחרוזת ובוליאניהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוס מפורשותסיכום: תרגול בטיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספה וקריאה של איבריםמהו טיפוס Map?הגדרה וגישה למפותמעבר על טבלאותטבלאות במבנים מעורביםקריאת רשתבניית רשתtable.unpackסיכום: מערכים ומפות6הוספת טיפוסים למבני טבלה
הערות טיפוס בשורה למבניםכינויי טיפוס למבניםמאפיינים אופציונלייםמבנים לעומת טבלאות לא מובנותהרחבת מבניםהוספת מתודות למבניםSelf ומתודות עם נקודתייםסיכום: הגדרת מבני טבלהתרגלו בעצמכם: קומפיילר Luau אונליין