Menu
Coddy logo textTech

Resumen - Manejador de eventos simple

Parte de la sección Lógica y flujo de control 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 simple con eventos prerregistrados y active uno basado en los parámetros de entrada.

Lógica:

  • Crea una tabla vacía para almacenar eventos dentro de createEventSystem
  • Define una función register que tome eventName y callback, almacenando el callback en la tabla de eventos con el nombre del evento como clave
  • Define una función trigger que tome eventName y arg, busque el callback en la tabla de eventos y lo llame con el argumento si existe
  • Prerregistra tres eventos:
    • "double": toma un número y lo devuelve multiplicado por 2
    • "square": toma un número y lo devuelve al cuadrado
    • "increment": toma 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 (string): El nombre del evento a activar
  • value (number): El valor a pasar al callback del evento

Devuelve:

  • El resultado de la función callback (number), o "Event not found" si el evento no existe (number|string)

Pruébalo tú mismo

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

Todas las lecciones de Lógica y flujo de control

Practica por tu cuenta: Compilador de Lua online