Özet - Log Dosyası Ayrıştırıcı
Coddy'nin Lua Journey'sinin Logic & Flow bölümünün bir parçası — ders 40 / 54.
Görev
KolaylogEntry parametresini alan ve ayıklanan günlük bilgilerini formatlanmış bir dize olarak döndüren bir parseLogEntry fonksiyonu yazın.
Günlük seviyesini (köşeli parantez içinde), mesaj metnini ve sayısal ID'yi günlük girişinden ayıklamak için birden fazla yakalama (capture) içeren string.match() kullanın. Bu üç bilgi parçasını virgülle ayrılmış olarak döndürün.
Mantık:
- Üç yakalama içeren bir desen kullanın: biri köşeli parantez içindeki günlük seviyesi için, biri mesaj metni için ve biri sayısal ID için
- Günlük seviyesi, köşeli parantez içindeki büyük harflerdir
- Mesaj, iki nokta üst üste ile sayısal ID arasındaki metindir
- ID, sondaki bir veya daha fazla rakamdır
- Yakalanan üç değeri şu formatta döndürün:
level,message,id
Parametreler:
logEntry(string):[LEVEL]: Message text IDformatında bir günlük girişi
Döndürür: level,message,id (string) olarak ayıklanan bilgiler
Kendin dene
function parseLogEntry(logEntry)
-- Kodu buraya yazın
end
Logic & Flow bölümündeki tüm dersler
1İleri Düzey Tablo Yineleme
pairs() ile Yinelemeipairs() ile Yinelemepairs() vs. ipairs()Özet - Karakter Sayfası4Metatable'lara Giriş
Metatable Nedir?setmetatable & getmetatable__index Metametodu__newindex Metametodu__tostring MetametoduAritmetik Metametotlar Bölüm 1Aritmetik Metametotlar Bölüm 2Özet - Salt Okunur Tablo7İleri Düzey String Manipülasyonu
Yer Değiştirme için string.gsub()String Desenlerine Girişstring.find()string.match()string.gmatch() ile YinelemeÖzet - Log Dosyası Ayrıştırıcı2Daha Fazla Tablo Kütüphanesi Fonksiyonu
table.concat()Tablo Oluşturma ve unpack()table.sort()Fonksiyonlar ile Özel SıralamaÖzet - Yüksek Skor Tablosu