مراجعة - محلل ملفات السجل
جزء من قسم المنطق والتحكم في التدفق في رحلة Lua على Coddy. الدرس 40 من 54.
التحدي
سهلاكتب دالة parseLogEntry تأخذ logEntry وتُرجع معلومات السجل المستخرجة في سلسلة نصية منسّقة.
استخدم string.match() مع عمليات التقاط متعددة لاستخراج مستوى السجل (بين قوسين مربعين)، ونص الرسالة، والمعرّف الرقمي من إدخال السجل. أعد هذه الأجزاء الثلاثة من المعلومات مفصولة بفواصل.
المنطق:
- استخدم نمطًا يتضمن ثلاث عمليات التقاط: واحدة لمستوى السجل داخل الأقواس المربعة، وواحدة لنص الرسالة، وواحدة للمعرّف الرقمي
- يتكوّن مستوى السجل من أحرف كبيرة داخل أقواس مربعة
- الرسالة هي النص الموجود بين النقطتين والمعرّف الرقمي
- المعرّف هو رقم واحد أو أكثر في النهاية
- أعد القيم الثلاث الملتقطة بالتنسيق:
level,message,id
المعاملات:
logEntry(string): إدخال سجل بالتنسيق[LEVEL]: Message text ID
القيمة المُعادة: المعلومات المستخرجة بصيغة level,message,id (string)
جرّب بنفسك
function parseLogEntry(logEntry)
-- اكتب الكود هنا
end
جميع دروس المنطق والتحكم في التدفق
1التكرار المتقدم عبر الجداول
التكرار باستخدام pairs()التكرار باستخدام ipairs()pairs() مقابل ipairs()مراجعة - ورقة الشخصية4مقدمة إلى Metatables
ما هو الـ Metatable؟setmetatable و getmetatableالـ Metamethod المسماة __indexالـ Metamethod المسماة __newindexالـ Metamethod المسماة __tostringالـ Metamethods الحسابية - الجزء الأولالـ Metamethods الحسابية - الجزء الثانيملخص - جدول للقراءة فقط7معالجة النصوص المتقدمة
استخدام string.gsub() للاستبدالمقدمة في أنماط النصوصstring.find()string.match()التكرار باستخدام string.gmatch()مراجعة - محلل ملفات السجل2المزيد من دوال مكتبة Table
table.concat()إنشاء الجداول و unpack()table.sort()فرز مخصص باستخدام الدوالمراجعة - لوحة أعلى النتائجتدرّب بنفسك: مترجم Lua عبر الإنترنت