Menu
CoddyTech

ملخص - معالج أحداث بسيط

جزء من قسم المنطق وتسلسل التنفيذ في رحلة Lua على Coddy. الدرس 15 من 54.

challenge icon

التحدي

سهل

اكتب دالة createEventSystem تنشئ نظام أحداث بسيطًا بأحداث مسجّلة مسبقًا، وتُفعّل حدثًا واحدًا استنادًا إلى معاملات الإدخال.

المنطق:

  • أنشئ جدولًا فارغًا لتخزين الأحداث داخل createEventSystem
  • عرّف دالة register تأخذ eventName وcallback (دالة تُشغَّل لاحقًا عند تفعيل الحدث)، وتخزّن دالة الاستدعاء في جدول الأحداث مع اسم الحدث مفتاحًا
  • عرّف دالة trigger تأخذ eventName وarg، وتبحث عن دالة الاستدعاء في جدول الأحداث، ثم تستدعيها مع الوسيط إذا كانت موجودة
  • قبل تفعيل أي شيء، سجّل هذه الأحداث الثلاثة:
    • "double": تأخذ عددًا وتُعيده مضروبًا في 2
    • "square": تأخذ عددًا وتُعيد مربعه
    • "increment": تأخذ عددًا وتُعيده زائدًا 1
  • فعّل الحدث المحدد بالمعامل eventName باستخدام المعامل value
  • أعِد نتيجة الحدث المُفعّل، أو "Event not found" إذا لم يكن الحدث موجودًا

المعاملات:

  • eventName (سلسلة نصية): اسم الحدث المراد تفعيله
  • value (عدد): القيمة المراد تمريرها إلى دالة استدعاء الحدث

القيمة المُعادة:

  • نتيجة دالة الاستدعاء (عدد)، أو "Event not found" إذا لم يكن الحدث موجودًا (عدد|سلسلة نصية)

جرّب بنفسك

function createEventSystem(eventName, value)
    -- اكتب الكود هنا
end

جميع دروس المنطق وتسلسل التنفيذ

تدرّب بنفسك: مترجم Lua عبر الإنترنت