Menu
Coddy logo textTech

Podsumowanie — prosty obsługiwacz zdarzeń

Część sekcji Logika i przepływ programu ścieżki Lua w Coddy. Lekcja 15 z 54.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję createEventSystem, która tworzy prosty system zdarzeń z wcześniej zarejestrowanymi zdarzeniami i wywołuje jedno z nich na podstawie parametrów wejściowych.

Logika:

  • Utwórz pustą tablicę do przechowywania zdarzeń wewnątrz funkcji createEventSystem
  • Zdefiniuj funkcję register, która przyjmuje eventName i callback, a następnie zapisuje funkcję zwrotną w tablicy zdarzeń, używając nazwy zdarzenia jako klucza
  • Zdefiniuj funkcję trigger, która przyjmuje eventName i arg, wyszukuje funkcję zwrotną w tablicy zdarzeń i wywołuje ją z argumentem, jeśli ją znajdzie
  • Zarejestruj wcześniej trzy zdarzenia:
    • "double": przyjmuje liczbę i zwraca ją pomnożoną przez 2
    • "square": przyjmuje liczbę i zwraca jej kwadrat
    • "increment": przyjmuje liczbę i zwraca ją powiększoną o 1
  • Wywołaj zdarzenie określone przez parametr eventName, przekazując mu parametr value
  • Zwróć wynik wywołanego zdarzenia lub "Event not found", jeśli zdarzenie nie istnieje

Parametry:

  • eventName (string): nazwa zdarzenia do wywołania
  • value (number): wartość przekazywana do funkcji zwrotnej zdarzenia

Zwraca:

  • Wynik funkcji zwrotnej (number) lub "Event not found", jeśli zdarzenie nie istnieje (number|string)

Spróbuj swoich sił

function createEventSystem(eventName, value)
    -- Wpisz kod tutaj
end

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Lua online