Ôn tập: trình phân tích tệp nhật ký
Thuộc phần Logic và luồng chương trình trong hành trình Lua của Coddy. Bài học 40 trên 54.
Thử thách
DễViết một hàm parseLogEntry nhận logEntry và trả về thông tin nhật ký đã trích xuất dưới dạng chuỗi có định dạng.
Dùng string.match() với nhiều nhóm bắt để trích xuất cấp độ nhật ký (trong dấu ngoặc vuông), nội dung thông báo và ID dạng số từ mục nhật ký. Trả về ba thông tin này, phân tách bằng dấu phẩy.
Logic:
- Dùng một mẫu có ba nhóm bắt: một nhóm cho cấp độ nhật ký trong dấu ngoặc vuông, một nhóm cho nội dung thông báo và một nhóm cho ID dạng số
- Cấp độ nhật ký gồm các chữ cái viết hoa trong dấu ngoặc vuông
- Thông báo là phần văn bản nằm giữa dấu hai chấm và ID dạng số
- ID gồm một hoặc nhiều chữ số ở cuối
- Trả về ba giá trị đã bắt theo định dạng:
level,message,id
Tham số:
logEntry(chuỗi): Một mục nhật ký theo định dạng[LEVEL]: Message text ID
Giá trị trả về: Thông tin đã trích xuất theo định dạng level,message,id (chuỗi)
Tự làm thử
function parseLogEntry(logEntry)
-- Viết code ở đây
end
Tất cả bài học trong Logic và luồng chương trình
4Giới thiệu về metatable
Metatable là gì?setmetatable và getmetatableMetamethod __indexMetamethod __newindexMetamethod __tostringMetamethod số học phần 1Metamethod số học phần 2Ôn tập: bảng chỉ đọc7Thao tác chuỗi nâng cao
string.gsub() để thay thếGiới thiệu mẫu chuỗistring.find()string.match()Lặp với string.gmatch()Ôn tập: trình phân tích tệp nhật ký2Các hàm khác của thư viện table
table.concat()Tạo table và unpack()table.sort()Sắp xếp tùy chỉnh bằng hàmÔn tập: Bảng điểm cao5Dự án: Bộ máy trò chơi phiêu lưu bằng văn bản
Thiết lập dự án: Căn phòngLiên kết các phòngTự luyện tập: Trình biên dịch Lua online