Récapitulatif - Gestionnaire d'événements simple
Fait partie de la section Logique et flux du Journey Lua de Coddy. Leçon 15 sur 54.
Défi
FacileÉcrivez 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éez une table vide pour stocker les événements à l'intérieur de
createEventSystem - Définissez une fonction
registerqui prendeventNameetcallback, en stockant le rappel dans la table des événements avec le nom de l'événement comme clé - Définissez une fonction
triggerqui prendeventNameetarg, recherche le rappel dans la table des événements et l'appelle avec l'argument s'il existe - Pré-enregistrez trois événements :
"double": prend un nombre et le retourne multiplié par 2"square": prend un nombre et le retourne au carré"increment": prend un nombre et lui ajoute 1
- Déclenchez l'événement spécifié par le paramètre
eventNameavec le paramètrevalue - Retournez le résultat de l'événement déclenché, ou
"Event not found"si l'événement n'existe pas
Paramètres :
eventName(string) : Le nom de l'événement à déclenchervalue(number) : La valeur à passer au rappel de l'événement
Retourne :
- Le résultat de la fonction de rappel (number), ou
"Event not found"si l'événement n'existe pas (number|string)
Essayez vous-même
function createEventSystem(eventName, value)
-- Écrivez le code ici
end
Toutes les leçons de Logique et flux
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() vs. ipairs()Récapitulatif - Fiche de personnage2Plus de fonctions de la bibliothèque table
table.concat()Construction de table & unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des scores3Concepts avancés sur les fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu'est-ce qu'une closure ?Récapitulatif - Gestionnaire d'événements simpleEntraînez-vous par vous-même : Compilateur Lua en ligne