Menu
Coddy logo textTech

Recapitulação - Manipulador de Eventos Simples

Parte da seção Logic & Flow do Journey de Lua da Coddy — lição 15 de 54.

challenge icon

Desafio

Fácil

Escreva uma função createEventSystem que cria um sistema de eventos simples com eventos pré-registrados e dispara um baseado nos parâmetros de entrada.

Lógica:

  • Crie uma tabela vazia para armazenar eventos dentro de createEventSystem
  • Defina uma função register que recebe eventName e callback, armazenando o callback na tabela de eventos com o nome do evento como chave
  • Defina uma função trigger que recebe eventName e arg, procura o callback na tabela de eventos e o chama com o argumento, caso ele exista
  • Pré-registre três eventos:
    • "double": recebe um número e o retorna multiplicado por 2
    • "square": recebe um número e o retorna ao quadrado
    • "increment": recebe um número e o retorna somado a 1
  • Dispare o evento especificado pelo parâmetro eventName com o parâmetro value
  • Retorne o resultado do evento disparado, ou "Event not found" se o evento não existir

Parâmetros:

  • eventName (string): O nome do evento a ser disparado
  • value (number): O valor a ser passado para o callback do evento

Retorno:

  • O resultado da função de callback (number), ou "Event not found" se o evento não existir (number|string)

Experimente você mesmo

function createEventSystem(eventName, value)
    -- Escreva o código aqui
end

Todas as lições de Logic & Flow