Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

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

جزء من قسم Logic & Flow في رحلة Lua على Coddy — الدرس 15 من 54.

challenge icon

التحدي

سهل

اكتب دالة createEventSystem تقوم بإنشاء نظام أحداث بسيط مع أحداث مسجلة مسبقاً وتقوم بتشغيل أحدها بناءً على معلمات الإدخال.

المنطق:

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

المعلمات:

  • eventName (string): اسم الحدث المراد تشغيله
  • value (number): القيمة المراد تمريرها إلى callback الحدث

المرجعات:

  • نتيجة دالة الـ callback (رقم)، أو "Event not found" إذا لم يكن الحدث موجوداً (number|string)

جرّب بنفسك

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

جميع دروس Logic & Flow