Özet - Basit Event Handler
Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 15 / 54.
Görev
KolayGirdi parametrelerine göre önceden kaydedilmiş olaylar içeren basit bir olay sistemi oluşturan createEventSystem işlevini yaz.
Mantık:
createEventSystemiçinde olayları depolamak için boş bir tablo oluştureventNamevecallbackalan (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 birregisterişlevi tanımlaeventNameveargalan, olaylar tablosunda geri çağırımı arayan ve varsa argümanla birlikte çağıran birtriggeriş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
eventNameparametresinde belirtilen olayıvalueparametresiyle 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
1İleri Düzey Tablo Yineleme
pairs() ile Yinelemeipairs() ile Yinelemepairs() vs. ipairs()Özet - Karakter Sayfası2Daha Fazla Tablo Kütüphanesi Fonksiyonu
table.concat()Tablo Oluşturma ve unpack()table.sort()Fonksiyonlar ile Özel SıralamaÖzet - Yüksek Skor Tablosu3İleri Düzey Fonksiyon Kavramları
Birden Fazla Değer DöndürmeVariadic Fonksiyonlar (...)Birinci Sınıf Değer Olarak FonksiyonlarAnonim FonksiyonlarClosure Nedir?Özet - Basit Event HandlerKendi başına pratik yap: Online Lua derleyicisi