סיכום – מנתח קובצי יומן
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Lua של Coddy. שיעור 40 מתוך 54.
אתגר
קלכתבו פונקציה parseLogEntry שמקבלת את logEntry ומחזירה את פרטי היומן שחולצו כמחרוזת בפורמט מוגדר.
השתמשו ב-string.match() עם כמה קבוצות לכידה כדי לחלץ את רמת היומן (בסוגריים מרובעים), את טקסט ההודעה ואת המזהה המספרי מתוך רשומת היומן. החזירו את שלושת הפרטים האלה מופרדים בפסיקים.
לוגיקה:
- השתמשו בתבנית עם שלוש קבוצות לכידה: אחת עבור רמת היומן שבתוך סוגריים מרובעים, אחת עבור טקסט ההודעה ואחת עבור המזהה המספרי
- רמת היומן מורכבת מאותיות גדולות בתוך סוגריים מרובעים
- ההודעה היא הטקסט שבין הנקודתיים למזהה המספרי
- המזהה הוא ספרה אחת או יותר בסוף
- החזירו את שלושת הערכים שנלכדו בפורמט:
level,message,id
פרמטרים:
logEntry(מחרוזת): רשומת יומן בפורמט[LEVEL]: Message text ID
ערך מוחזר: הפרטים שחולצו בתור level,message,id (מחרוזת)
נסו בעצמכם
function parseLogEntry(logEntry)
-- כתבו כאן קוד
end
כל השיעורים ביחידה לוגיקה וזרימת התוכנית
1איטרציה מתקדמת בטבלאות
איטרציה באמצעות pairs()איטרציה באמצעות ipairs()pairs() לעומת ipairs()סיכום – גיליון דמות4מבוא למטא־טבלאות
מהי מטא־טבלה?setmetatable ו־getmetatableמטא־מתודת __indexמטא־מתודת __newindexמטא־מתודת __tostringמטא־מתודות אריתמטיות חלק 1מטא־מתודות אריתמטיות חלק 2סיכום — טבלה לקריאה בלבד7מניפולציה מתקדמת של מחרוזות
החלפה באמצעות string.gsub()מבוא לתבניות מחרוזתstring.find()string.match()איטרציה באמצעות string.gmatch()סיכום – מנתח קובצי יומן2פונקציות נוספות של ספריית הטבלאות
table.concat()בניית טבלה ו־unpack()table.sort()מיון מותאם אישית באמצעות פונקציותסיכום – לוח שיאיםתרגלו בעצמכם: קומפיילר Lua אונליין