Menu
Coddy logo textTech

Ö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

Önceden kaydedilmiş olaylarla basit bir olay sistemi oluşturan ve giriş parametrelerine göre bir olayı tetikleyen createEventSystem adlı bir işlev yazın.

Mantık:

  • createEventSystem içinde olayları depolamak için boş bir tablo oluşturun
  • register ve eventName alan bir callback işlevi tanımlayın; geri çağırma işlevini, anahtar olarak olay adıyla olaylar tablosunda depolayın
  • trigger ve eventName alan bir arg işlevi tanımlayın; olaylar tablosunda geri çağırma işlevini arayın ve varsa bu işlevi bağımsız değişkenle çağırın
  • Üç olayı önceden kaydedin:
    • "double": bir sayı alır ve sayıyı 2 ile çarpılmış olarak döndürür
    • "square": bir sayı alır ve karesini döndürür
    • "increment": bir sayı alır ve sayının 1 fazlasını döndürür
  • eventName parametresiyle belirtilen olayı value parametresiyle tetikleyin
  • Tetiklenen olayın sonucunu döndürün veya olay mevcut değilse "Event not found" döndürün

Parametreler:

  • eventName (string): Tetiklenecek olayın adı
  • value (number): Olayın geri çağırma işlevine aktarılacak değer

Döndürülen değer:

  • Geri çağırma işlevinin sonucu (number) veya olay mevcut değilse "Event not found" (number|string)

Kendin dene

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

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

Kendi başına pratik yap: Online Lua derleyicisi