table.sort

  table.sort( table tbl, function sorter = nil )

Açıklama

Sıralı bir tabloyu artan sırada veya verilen sıralama fonksiyonuna göre sıralar.

Bu fonksiyon, verdiğiniz tabloyu değiştirir ve dahili olarak hızlı sıralama (quick sort) algoritmasını kullanır.

Argümanlar

1 table tbl
Sıralanacak tablo.
2 function sorter = nil
Belirtilirse, sıralama fonksiyonu.
Fonksiyon argüman(lar)ı:
1 any a - Test edilecek A öğesi.
2 any b - Test edilecek B öğesi.
Fonksiyon dönüş değeri/değerleri:
1 boolean result - Karşılaştırmanın sonucu. İlk parametrenin sıralanmış dizide ilk sırada yer almasını istiyorsanız bu fonksiyonda true döndürün.

Örnek

Tabloyu bir tam sayıya göre sıralama

local tbl = { { "Jeff", 8 }, { "Peter", 17 }, { "Shay", 11 }, { "Janine", 1 } } table.sort( tbl, function(a, b) return a[2] > b[2] end )
Çıktı: Tablo en yüksek sayıdan en düşüğe doğru sıralandı (1: Peter, 2: Shay, 3: Jeff, 4: Janine)

Örnek

Bir oyuncu tablosunu bir NWInt'e göre sıralama

local plys = player.GetAll() table.sort( plys, function(a, b) return a:GetNWInt("Score") > b:GetNWInt("Score") end )
Çıktı: Oyuncu tablosu skora göre en yüksekten en düşüğe doğru sıralandı

Örnek

Tabloyu string anahtarlarına göre sıralar. ages içindeki sayısal olmayan anahtarları sıralayamayız, çünkü bunlar sırası tanımsız olan bir hash bölümünde bulunurlar.

local ages = { [ "Jeff" ] = 8, [ "Peter" ] = 17, [ "Shay" ] = 11, [ "Janine" ] = 1, } local names = table.GetKeys( ages ) table.sort( names ) for _, name in ipairs( names ) do print( name, ages[ name ] ) end
Çıktı: Janine 1 Jeff 8 Peter 17 Shay 11

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord