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

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

جزء من قسم المنطق والتحكم في التدفق في رحلة 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

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

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