Menu
CoddyTech

Fonksiyonlar ile Özel Sıralama

Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 8 / 54.

table.sort() basit sayı veya dizge listeleri için harika çalışsa da gerçek dünyadaki veriler genellikle daha karmaşıktır. Her bir girdinin birden fazla alan içeren bir tablonun kendisi olduğu oyuncu kayıtları, envanter öğeleri veya oyun puanlarından oluşan bir tablonuz olabilir.

Bu karmaşık yapıları sıralamak için table.sort() fonksiyonuna iki girdiyi tam olarak nasıl karşılaştıracağını söylemeniz gerekir. Özel karşılaştırma fonksiyonları bu noktada vazgeçilmez hâle gelir. Bir karşılaştırma fonksiyonu iki öğe alır ve sıralı düzende ilk öğe ikinciden önce gelmeliyse true döndürür.

Oyuncu kayıtlarından oluşan bir tabloya örnek:

local players = {
    {name = "Alice", score = 150},
    {name = "Bob", score = 200},
    {name = "Charlie", score = 175}
}

table.sort(players, function(a, b)
    return a.score > b.score
end)

Sıralamadan sonra, oyuncular tablosu puana göre azalan sırada düzenlenir; ilk sırada Bob (200), ikinci sırada Charlie (175) ve üçüncü sırada Alice (150) yer alır. Karşılaştırma işlevi, sıralarını belirlemek için her oyuncu tablosunun score alanına erişir.

İstediğin alana göre sıralama yapabilirsin: adları alfabetik, seviyeleri sayısal olarak ya da birden fazla ölçütü birleştirerek.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Lua derleyicisi