Menu
Coddy logo textTech

Zusammenfassung – Einfacher Event Handler

Teil des Abschnitts Logik & Programmablauf 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 Logik & Programmablauf

Übe selbstständig: Online-Lua-Compiler