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