ערכי ברירת מחדל לפרמטרים
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 27 מתוך 80.
פרמטרים אופציונליים משאירים לך ערך nil שצריך לטפל בו. לעיתים קרובות, מה שבאמת רוצים הוא ערך חלופי: "אם הקורא לא ציין, נניח X". ל-Luau אין תחביר ברירת מחדל בחתימה (אין greeting: string = "Hello"); במקום זאת משתמשים בניב המקובל של Lua, כעת עם טיפוסים:
function greet(name: string, greeting: string?): string
greeting = greeting or "Hello"
return `{greeting}, {name}`
end
print(greet("Alice")) -- שלום, אליס
print(greet("Alice", "Howdy")) -- היי, אליסהפרמטר מסומן כאופציונלי (string?), והשורה הראשונה בגוף הפונקציה מחליפה את nil בערך ברירת המחדל. זה עובד כי nil הוא ערך שקרי: הביטוי nil or "Hello" מוערך ל-"Hello". אחרי השורה הזאת, הבודק יודע ש-greeting כבר לא יכול להיות nil.
אתגר
קלתנו לפרמטר אופציונלי ערך ברירת מחדל.
- כתבו
local function calculateTax(price: number, rate: number?): number. - השורה הראשונה שלו היא
rate = rate or 0.05; לאחר מכן החזירו אתprice * rate. - הדפיסו את
calculateTax(100)ואתcalculateTax(200, 0.08).
לחצו על הרצת קוד: הפלט מציג 5, ואז 16.
נסו בעצמכם
-- 1) calculateTax(price: number, rate: number?): number
-- קבעו שיעור ברירת מחדל של 0.05 באמצעות התבנית `or`
-- 2) הדפיסו את calculateTax(100) ואת calculateTax(200, 0.08)
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםערכי ברירת מחדל לבוליאניםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים2טיפוסי ליבה
מספר, מחרוזת ובוליאניהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוס מפורשותסיכום: תרגול בטיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספה וקריאה של איבריםמהו טיפוס Map?הגדרה וגישה למפותמעבר על טבלאותטבלאות במבנים מעורביםקריאת רשתבניית רשתtable.unpackסיכום: מערכים ומפותתרגלו בעצמכם: קומפיילר Luau אונליין