Ö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
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:
createEventSystemiçinde olayları depolamak için boş bir tablo oluşturunregisterveeventNamealan bircallbackişlevi tanımlayın; geri çağırma işlevini, anahtar olarak olay adıyla olaylar tablosunda depolayıntriggerveeventNamealan birargiş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
eventNameparametresiyle belirtilen olayıvalueparametresiyle 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
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