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 telah didaftarkan sebelumnya, lalu memicu salah satunya berdasarkan parameter input.

Logika:

  • Buat tabel kosong untuk menyimpan event di dalam createEventSystem
  • Definisikan fungsi register yang menerima eventName dan callback, lalu menyimpan callback di tabel event dengan nama event sebagai kuncinya
  • Definisikan fungsi trigger yang menerima eventName dan arg, mencari callback di tabel event, lalu memanggilnya dengan argumen tersebut jika callback tersedia
  • Daftarkan terlebih dahulu tiga event:
    • "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 tersebut tidak ada

Parameter:

  • eventName (string): Nama event yang akan dipicu
  • value (number): Nilai yang akan diteruskan ke callback event

Nilai yang dikembalikan:

  • Hasil fungsi callback (number), atau "Event not found" jika event tersebut 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