Menu
Coddy logo textTech

Zusammenfassung – Einfacher Event Handler

Teil des Abschnitts Logic & Flow der Lua-Journey von Coddy — Lektion 15 von 54.

challenge icon

Aufgabe

Einfach

Schreiben Sie eine Funktion createEventSystem, die ein einfaches Ereignissystem mit vorregistrierten Ereignissen erstellt und eines basierend auf den Eingabeparametern auslöst.

Logik:

  • Erstellen Sie eine leere Tabelle zum Speichern von Ereignissen innerhalb von createEventSystem
  • Definieren Sie eine register-Funktion, die eventName und callback entgegennimmt und den Callback in der Ereignistabelle mit dem Ereignisnamen als Schlüssel speichert
  • Definieren Sie eine trigger-Funktion, die eventName und arg entgegennimmt, den Callback in der Ereignistabelle nachschlägt und ihn mit dem Argument aufruft, falls er existiert
  • Registrieren Sie drei Ereignisse vor:
    • "double": nimmt eine Zahl entgegen und gibt sie mit 2 multipliziert zurück
    • "square": nimmt eine Zahl entgegen und gibt sie im Quadrat zurück
    • "increment": nimmt eine Zahl entgegen und gibt sie plus 1 zurück
  • Lösen Sie das durch den Parameter eventName spezifizierte Ereignis mit dem Parameter value aus
  • Geben Sie das Ergebnis des ausgelösten Ereignisses zurück, oder "Event not found", falls das Ereignis nicht existiert

Parameter:

  • eventName (string): Der Name des auszulösenden Ereignisses
  • value (number): Der Wert, der an den Ereignis-Callback übergeben werden soll

Rückgabewert:

  • Das Ergebnis der Callback-Funktion (number), oder "Event not found", falls das Ereignis nicht existiert (number|string)

Probier es selbst

function createEventSystem(eventName, value)
    -- Code hier schreiben
end

Alle Lektionen in Logic & Flow