פונקציות שאינן מחזירות ערך
חלק מהיחידה מבוא ל-Luau במסלול ה-Lua של Coddy. שיעור 25 מתוך 80.
פונקציות רבות לא מחשבות ערך. הן עושות משהו: מדפיסות הודעה, מעדכנות טבלה, שומרות מצב. ב-Luau אפשר לסמן שפונקציה לא מחזירה כלום באמצעות טיפוס ההחזרה הריק ():
local function logMessage(message: string): ()
print(message)
end
local counter = 0
local function incrementCounter(): ()
counter += 1
endאם נתקלת ב-TypeScript, () ממלא את התפקיד של void, אבל הכתיב ב-Luau הוא זוג סוגריים ריקים, שפירושו המילולי הוא "אפס ערכי החזרה".
הסימון הוא אופציונלי: השמט אותו, ו-Luau יסיק שהפונקציה לא מחזירה כלום. כתיבה מפורשת של : () מתעדת את כוונתך: כל מי שקורא את החתימה יודע שקוראים לפונקציה הזאת בגלל תופעות הלוואי שלה, ולא בגלל התוצאה שלה.
בזמן ריצה שום דבר לא משתנה (כרגיל): פונקציה ללא ערך return פשוט מחזירה nil אם מנסים לשמור את התוצאה שלה במשתנה: בדיוק כמו ב-Lua רגילה.
אתגר
קלכתבו שתי פונקציות שמדפיסות ואינן מחזירות דבר.
- כתבו
local function displayWelcome(userName: string): ()שמדפיסה`Welcome, {userName}!`. - כתבו
local function logError(errorMessage: string): ()שמדפיסה`ERROR: {errorMessage}`. - קראו ל־
displayWelcome("Alice"), ואז ל־logError("Invalid input").
לחצו על הרצת קוד: הפלט מציג את Welcome, Alice! ואת ERROR: Invalid input.
נסו בעצמכם
-- 1) displayWelcome(userName: string): ()
-- 2) logError(errorMessage: string): ()
-- 3) יש לקרוא ל-displayWelcome("Alice"), ואז ל-logError("Invalid input")
כל השיעורים ביחידה מבוא ל-Luau
1תחילת העבודה עם Luau
מהו Luau?למה להשתמש ב-Luau?קוד Luau הראשון שלכםבדיקת טיפוסים ומצבי שגיאהסיכום: מבוא ל-Luau4עבודה עם פונקציות
הגדרת טיפוסים לפרמטרים ולערכי החזרההגדרת טיפוסים לפונקציות אנונימיותפונקציות שאינן מחזירות ערךפרמטרים אופציונלייםערכי ברירת מחדל לפרמטריםערכי ברירת מחדל לבוליאניםפונקציות עם מספר משתנה של ארגומנטיםהגדרת טיפוסי פונקציותסיכום: פונקציות עם טיפוסים2טיפוסי ליבה
מספר, מחרוזת ובוליאניהטיפוס 'any': פתרון מילוטהטיפוס 'unknown'טיפוסי Nil ואופציונלייםהסקת טיפוסים בפעולההצהרות טיפוס מפורשותסיכום: תרגול בטיפוסי ליבה5כינויים, איחודים וחיתוכים
כינויים לסוגים פרימיטיבייםטיפוסי איחודעבודה עם טיפוסי איחודטיפוסים ליטרלייםטיפוסי חיתוךשילוב כינויים לסוגיםסיכום: שילובים מתקדמים של טיפוסים3טבלאות מטיפוס מוגדר: מערכים ומפות
מערכים מטיפוס מוגדרהוספה וקריאה של איבריםמהו טיפוס Map?הגדרה וגישה למפותמעבר על טבלאותטבלאות במבנים מעורביםקריאת רשתבניית רשתtable.unpackסיכום: מערכים ומפותתרגלו בעצמכם: קומפיילר Luau אונליין