Menu
CoddyTech

Özet - Basit Event Handler

Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 15 / 54.

challenge icon

Görev

Kolay

Girdi parametrelerine göre önceden kaydedilmiş olaylar içeren basit bir olay sistemi oluşturan createEventSystem işlevini yaz.

Mantık:

  • createEventSystem içinde olayları depolamak için boş bir tablo oluştur
  • eventName ve callback alan (olay tetiklendiğinde daha sonra çalıştırılacak bir işlev) ve geri çağırımı, anahtar olarak olay adını kullanarak olaylar tablosunda depolayan bir register işlevi tanımla
  • eventName ve arg alan, olaylar tablosunda geri çağırımı arayan ve varsa argümanla birlikte çağıran bir trigger işlevi tanımla
  • Herhangi bir şeyi tetiklemeden önce şu üç olayı kaydet:
    • "double": bir sayı alır ve sayının 2 ile çarpımını döndürür
    • "square": bir sayı alır ve sayının karesini döndürür
    • "increment": bir sayı alır ve sayının 1 fazlasını döndürür
  • eventName parametresinde belirtilen olayı value parametresiyle tetikle
  • Tetiklenen olayın sonucunu, olay yoksa "Event not found" döndür

Parametreler:

  • eventName (string): Tetiklenecek olayın adı
  • value (number): Olayın geri çağırımına aktarılacak değer

Döndürür:

  • Geri çağırım işlevinin sonucu (number) veya olay yoksa "Event not found" (number|string)

Kendin dene

function createEventSystem(eventName, value)
    -- Kodu buraya yazın
end

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Lua derleyicisi