Menu
CoddyTech

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

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-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 אונליין