Enums של מחרוזות כאיחודים
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 57 מתוך 80.
מספרים יוצרים יומני רישום סתומים: לראות 2 אומר לך מעט, לראות "down" אומר לך הכול. כדי ליצור ערכים ניתנים לקריאה של סוגי מנייה, כלי העזר הוא סוגי איחוד מילוליים של Luau: סוג שהחברים שלו הם מחרוזות מדויקות:
type Direction = "up" | "down" | "left" | "right"
local facing: Direction = "up" -- ✓
local typo: Direction = "upp" -- ✗ שגיאת טיפוס בזמן עריכהמשתנה שמצוין לו הסוג Direction יכול להכיל את ארבע המחרוזות האלה ושום דבר אחר. אייתת אחת מהן לא נכון? הבודק יזהה זאת מיד: הבאג לא יגיע לעולם לשחקן.
בזמן ריצה הערכים הם מחרוזות רגילות. אפשר להדפיס אותן, לשרשר אותן ולהשוות ביניהן באמצעות ==. כל מה שידוע לך על מחרוזות חל גם כאן:
print(facing) -- למעלה
print(`facing {facing}`) -- פונה למעלההשווה בין שתי התבניות שיש לך עכשיו: טבלת הקבועים יוצרת ערך אחד בזמן ריצה (UserRole) שמכיל חברים, ואילו האיחוד המילולי לא יוצר שום ערך. אין טבלה בשם Direction, אלא רק כלל שהבודק אוכף לגבי המחרוזות שמתאימות. בזכות הערכים התיאוריים שמתעדים את עצמם, וללא עלות בזמן ריצה, איחודים מילוליים הם הסגנון המועדף לייצוג סוגי מנייה בקוד Luau.
אתגר
קלשמרו כיוון שיכול להיות אחד מארבעה שמות בלבד.
- כתבו
type Direction = "up" | "down" | "left" | "right". - הצהירו על
local facing: Direction = "left". - הדפיסו את
facing, ולאחר מכן את`The player moves {facing}`.
לחצו על הרצת קוד: הפלט מציג את left ואת The player moves left.
נסו בעצמכם
-- 1) הגדירו את Direction כטיפוס איחוד של ארבע מחרוזות
-- 2) local facing: Direction = "left"
-- 3) הדפיסו את facing, ואז את המשפט
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםערכי ברירת מחדל לבוליאניםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים2טיפוסי ליבה
מספר, מחרוזת ובוליאניהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוס מפורשותסיכום: תרגול בטיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים8Enums בדרך של Luau
תבנית ה-Enum ב-LuauEnums מספריים באמצעות טבלאותEnums של מחרוזות כאיחודיםשימוש ב-Enums של איחודי ערכים מילולייםהקפאת טבלאות קבועותסיכום: Enums בדרך של Luau3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספה וקריאה של איבריםמהו טיפוס Map?הגדרה וגישה למפותמעבר על טבלאותטבלאות במבנים מעורביםקריאת רשתבניית רשתtable.unpackסיכום: מערכים ומפותתרגלו בעצמכם: קומפיילר Luau אונליין