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