למה להשתמש ב-Luau?
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 2 מתוך 80.
מערכת הטיפוסים של 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)
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ שגיאת טיפוס בזמן עריכה: nil אינו מספרקריאות טובה יותר של הקוד: הערות הטיפוסים משמשות כתיעוד. price: number אומר לך ולחברי הצוות שלך בדיוק למה פונקציה מצפה: בלי לנחש ובלי לחפור במימוש.
כלי פיתוח משופרים: מכיוון שהעורך יודע מהו הטיפוס של כל משתנה, תקבל השלמה אוטומטית מדויקת, שינויי קוד בטוחים יותר וניווט חכם יותר. הקלד נקודה אחרי ערך שהוגדר לו טיפוס, והעורך יציג בדיוק את האפשרויות הזמינות.
אתגר
קלציין את הטיפוס number עבור שני הפרמטרים של calculateTotal.
- בשורה הראשונה, שנה את
(price, tax)ל־(price: number, tax: number). - השאר את הקריאה
calculateTotal(80, 8)בתחתית.
לחץ על הרצת קוד: הפלט מציג את 88.
נסו בעצמכם
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(80, 8))
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםערכי ברירת מחדל לבוליאניםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים2טיפוסי ליבה
מספר, מחרוזת ובוליאניהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוס מפורשותסיכום: תרגול בטיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספה וקריאה של איבריםמהו טיפוס Map?הגדרה וגישה למפותמעבר על טבלאותטבלאות במבנים מעורביםקריאת רשתבניית רשתtable.unpackסיכום: מערכים ומפותתרגלו בעצמכם: קומפיילר Luau אונליין