למה להשתמש ב-Luau?
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 2 מתוך 73.
מערכת הטיפוסים של Luau מציעה שלושה יתרונות מרכזיים שהופכים את הפיתוח לבטוח ויעיל יותר.
איתור שגיאות מוקדם: בודק הטיפוסים מנתח את הקוד בזמן העריכה, לפני שהוא רץ. חשבו על באג קלאסי ב-Lua: העברת nil במקום שבו מצופה מספר:
-- Lua: שום דבר չի զգուշացնում դրա մասին
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(nil, 0.1))
-- ✗ կատարման ժամանակի սխալ: փորձ է արվել թվաբանական գործողություն կատարել nil-ի հետב-Lua רגיל, הקריסה מתרחשת רק כשהקריאה השגויה מתבצעת לבסוף: אולי מול המשתמשים שלכם. חמור מכך, לפעמים Lua מסתירה את הבאג לחלוטין: "50" + 0.1 ממירה את המחרוזת בשקט ומחזירה 50.1… עד שיום אחד המחרוזת אינה מספרית. עם הערות הטיפוסים של Luau, השגיאה מסומנת מיד:
local function calculateTotal(price: number, tax: number): number
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ שגיאת טיפוס בזמן עריכה: nil אינו מספרקריאות טובה יותר של הקוד: הערות הטיפוסים משמשות כתיעוד. price: number אומר לכם ולחברי הצוות שלכם בדיוק מה פונקציה מצפה לקבל ומה היא מחזירה: בלי לנחש ובלי לנבור במימוש.
כלי פיתוח משופרים: מכיוון שהעורך יודע את הטיפוס של כל משתנה, תקבלו השלמה אוטומטית מדויקת, שינויי מבנה בטוחים יותר וניווט חכם יותר. הקלידו נקודה אחרי ערך שהוגדר לו טיפוס, והעורך יציג בדיוק את האפשרויות הזמינות.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים2טיפוסי ליבה
טיפוסים בסיסיים: num, str, boolהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוסים מפורשותסיכום: תרגול טיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספת איברים וקריאתםמהו טיפוס Map?הצהרה על מפות וגישה אליהןמעבר על טבלאותטבלאות בעלות מבנים מעורביםמערכים רב־ממדיים מטיפוס מוגדרtable.unpack ו־Varargsסיכום: מערכים ומפותתרגלו בעצמכם: קומפיילר Luau אונליין