Menu
CoddyTech

Récapitulatif - Gestionnaire d’événements simple

Fait partie de la section Logique et déroulement du programme du Journey Lua de Coddy. Leçon 15 sur 54.

challenge icon

Défi

Facile

Écris une fonction createEventSystem qui crée un système d’événements simple avec des événements préenregistrés et en déclenche un en fonction des paramètres d’entrée.

Logique :

  • Crée une table vide pour stocker les événements dans createEventSystem
  • Définis une fonction register qui prend eventName et callback (une fonction à exécuter plus tard, lorsque l’événement est déclenché) et stocke le rappel dans la table des événements, avec le nom de l’événement comme clé
  • Définis une fonction trigger qui prend eventName et arg, recherche le rappel dans la table des événements et l’appelle avec l’argument s’il existe
  • Avant de déclencher quoi que ce soit, enregistre ces trois événements :
    • "double" : prend un nombre et renvoie ce nombre multiplié par 2
    • "square" : prend un nombre et renvoie ce nombre au carré
    • "increment" : prend un nombre et renvoie ce nombre plus 1
  • Déclenche l’événement spécifié par le paramètre eventName avec le paramètre value
  • Renvoie le résultat de l’événement déclenché, ou "Event not found" si l’événement n’existe pas

Paramètres :

  • eventName (chaîne) : le nom de l’événement à déclencher
  • value (nombre) : la valeur à transmettre au rappel de l’événement

Valeur renvoyée :

  • Le résultat de la fonction de rappel (nombre), ou "Event not found" si l’événement n’existe pas (nombre|chaîne)

Essayez vous-même

function createEventSystem(eventName, value)
    -- Écrivez le code ici
end

Toutes les leçons de Logique et déroulement du programme

Entraînez-vous par vous-même : Compilateur Lua en ligne