Menu
CoddyTech

Ulasan: Penangan Event Sederhana

Termasuk bagian Logika dan Alur dalam perjalanan Lua di Coddy. Pelajaran 15 dari 54.

challenge icon

Tantangan

Mudah

Tulis fungsi createEventSystem yang membuat sistem event sederhana dengan event yang sudah didaftarkan sebelumnya dan memicu salah satunya berdasarkan parameter input.

Logika:

  • Buat tabel kosong untuk menyimpan event di dalam createEventSystem
  • Definisikan fungsi register yang menerima eventName dan callback (fungsi yang akan dijalankan nanti, saat event dipicu), lalu simpan callback dalam tabel event dengan nama event sebagai kuncinya
  • Definisikan fungsi trigger yang menerima eventName dan arg, mencari callback dalam tabel event, lalu memanggilnya dengan argumen tersebut jika callback tersedia
  • Sebelum memicu event apa pun, daftarkan tiga event berikut:
    • "double": menerima angka dan mengembalikannya setelah dikalikan dengan 2
    • "square": menerima angka dan mengembalikannya setelah dikuadratkan
    • "increment": menerima angka dan mengembalikannya setelah ditambah 1
  • Picu event yang ditentukan oleh parameter eventName dengan parameter value
  • Kembalikan hasil event yang dipicu, atau "Event not found" jika event tidak ada

Parameter:

  • eventName (string): Nama event yang akan dipicu
  • value (number): Nilai yang akan diberikan kepada callback event

Nilai Kembalian:

  • Hasil fungsi callback (number), atau "Event not found" jika event tidak ada (number|string)

Coba sendiri

function createEventSystem(eventName, value)
    -- Tulis kodemu di sini
end

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Lua online