Özet - Log Dosyası Ayrıştırıcı
Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 40 / 54.
Görev
KolayparseLogEntry adlı bir fonksiyon yazın; bu fonksiyon logEntry değerini almalı ve çıkarılan günlük bilgilerini biçimlendirilmiş bir dize olarak döndürmelidir.
Günlük düzeyini (köşeli parantezler içinde), mesaj metnini ve günlük girdisindeki sayısal kimliği çıkarmak için birden çok yakalama grubu içeren string.match() kullanın. Bu üç bilgi parçasını virgüllerle ayırarak döndürün.
Mantık:
- Üç yakalama grubu içeren bir desen kullanın: biri köşeli parantezler içindeki günlük düzeyi, biri mesaj metni ve biri sayısal kimlik için
- Günlük düzeyi, köşeli parantezler içindeki büyük harflerden oluşur
- Mesaj, iki nokta ile sayısal kimlik arasındaki metindir
- Kimlik, sondaki bir veya daha fazla rakamdan oluşur
- Yakalanan üç değeri şu biçimde döndürün:
level,message,id
Parametreler:
logEntry(dize):[LEVEL]: Message text IDbiçiminde bir günlük girdisi
Döndürür: Çıkarılan bilgileri level,message,id (dize) biçiminde döndürür
Kendin dene
function parseLogEntry(logEntry)
-- Kodu buraya yazın
end
Mantık ve Akış 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 TablosuKendi başına pratik yap: Online Lua derleyicisi