Menu
CoddyTech

ערכי ברירת מחדל לפרמטרים

חלק מהיחידה מבוא ל-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.

challenge icon

אתגר

קל

תנו לפרמטר אופציונלי ערך ברירת מחדל.

  1. כתבו local function calculateTax(price: number, rate: number?): number.
  2. השורה הראשונה שלו היא rate = rate or 0.05; לאחר מכן החזירו את price * rate.
  3. הדפיסו את 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

תרגלו בעצמכם: קומפיילר Luau אונליין