Menu
CoddyTech

Resumen - Manejador de eventos simple

Parte de la sección Lógica y flujo del Journey de Lua de Coddy. Lección 15 de 54.

challenge icon

Desafío

Fácil

Escribe una función createEventSystem que cree un sistema de eventos sencillo con eventos prerregistrados y active uno según los parámetros de entrada.

Lógica:

  • Crea una tabla vacía para almacenar eventos dentro de createEventSystem
  • Define una función register que recibe eventName y callback (una función que se ejecutará más adelante, cuando se active el evento) y almacena la función de retorno en la tabla de eventos con el nombre del evento como clave
  • Define una función trigger que recibe eventName y arg, busca la función de retorno en la tabla de eventos y la llama con el argumento si existe
  • Antes de activar cualquier evento, registra estos tres eventos:
    • "double": recibe un número y lo devuelve multiplicado por 2
    • "square": recibe un número y lo devuelve elevado al cuadrado
    • "increment": recibe un número y lo devuelve más 1
  • Activa el evento especificado por el parámetro eventName con el parámetro value
  • Devuelve el resultado del evento activado o "Event not found" si el evento no existe

Parámetros:

  • eventName (cadena): El nombre del evento que se activará
  • value (número): El valor que se pasará a la función de retorno del evento

Devuelve:

  • El resultado de la función de retorno (número), o "Event not found" si el evento no existe (número|cadena)

Pruébalo tú mismo

function createEventSystem(eventName, value)
    -- Escribe el código aquí
end

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Compilador de Lua online