Menu
Coddy logo textTech

סיכום – מטפל אירועים פשוט

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Lua של Coddy. שיעור 15 מתוך 54.

challenge icon

אתגר

קל

כתוב פונקציה createEventSystem שיוצרת מערכת אירועים פשוטה עם אירועים שנרשמו מראש ומפעילה אירוע אחד בהתאם לפרמטרי הקלט.

לוגיקה:

  • צור טבלה ריקה לאחסון אירועים בתוך createEventSystem
  • הגדר פונקציית register שמקבלת את eventName ואת callback, ושומרת את הפונקציה החוזרת בטבלת האירועים כשהמפתח הוא שם האירוע
  • הגדר פונקציית trigger שמקבלת את eventName ואת arg, מחפשת את הפונקציה החוזרת בטבלת האירועים וקוראת לה עם הארגומנט אם היא קיימת
  • רשום מראש שלושה אירועים:
    • "double": מקבל מספר ומחזיר אותו כשהוא מוכפל ב-2
    • "square": מקבל מספר ומחזיר אותו בריבוע
    • "increment": מקבל מספר ומחזיר אותו בתוספת 1
  • הפעל את האירוע שצוין בפרמטר eventName עם הפרמטר value
  • החזר את התוצאה של האירוע שהופעל, או "Event not found" אם האירוע לא קיים

פרמטרים:

  • eventName (מחרוזת): שם האירוע להפעלה
  • value (מספר): הערך שיש להעביר לפונקציית החזרה של האירוע

ערך מוחזר:

  • תוצאת פונקציית החזרה (מספר), או "Event not found" אם האירוע לא קיים (מספר|מחרוזת)

נסו בעצמכם

function createEventSystem(eventName, value)
    -- כתבו כאן קוד
end

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

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