ملخص - معالج أحداث بسيط
جزء من قسم Logic & Flow في رحلة Lua على Coddy — الدرس 15 من 54.
التحدي
سهلاكتب دالة 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
1التكرار المتقدم عبر الجداول
التكرار باستخدام pairs()التكرار باستخدام ipairs()pairs() مقابل ipairs()مراجعة - ورقة الشخصية2المزيد من دوال مكتبة Table
table.concat()إنشاء الجداول و unpack()table.sort()فرز مخصص باستخدام الدوالمراجعة - لوحة أعلى النتائج3مفاهيم الدوال المتقدمة
إرجاع قيم متعددةالدوال متغيرة الوسائط (...)الدوال كقيم من الدرجة الأولىالدوال المجهولةما هو الـ Closure؟ملخص - معالج أحداث بسيط