Menu
CoddyTech

Ôn tập: bộ xử lý sự kiện đơn giản

Thuộc phần Logic và luồng chương trình trong hành trình Lua của Coddy. Bài học 15 trên 54.

challenge icon

Thử thách

Dễ

Viết một hàm createEventSystem để tạo hệ thống sự kiện đơn giản với các sự kiện được đăng ký trước và kích hoạt một sự kiện dựa trên tham số đầu vào.

Logic:

  • Tạo một bảng trống để lưu các sự kiện bên trong createEventSystem
  • Định nghĩa hàm register nhận eventName và callback, rồi lưu callback vào bảng sự kiện với tên sự kiện làm khóa
  • Định nghĩa hàm trigger nhận eventName và arg, tìm callback trong bảng sự kiện và gọi callback với đối số đó nếu callback tồn tại
  • Đăng ký trước ba sự kiện:
    • "double": nhận một số và trả về số đó nhân với 2
    • "square": nhận một số và trả về bình phương của số đó
    • "increment": nhận một số và trả về số đó cộng 1
  • Kích hoạt sự kiện được chỉ định bởi tham số eventName với tham số value
  • Trả về kết quả của sự kiện đã kích hoạt, hoặc "Event not found" nếu sự kiện không tồn tại

Tham số:

  • eventName (chuỗi): Tên của sự kiện cần kích hoạt
  • value (số): Giá trị truyền vào callback của sự kiện

Giá trị trả về:

  • Kết quả của hàm callback (số), hoặc "Event not found" nếu sự kiện không tồn tại (số|chuỗi)

Tự làm thử

function createEventSystem(eventName, value)
    -- Viết code ở đây
end

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Lua online