Uzunluk ve Sıralama
Dizileri sayın ve sıralayın.
Uzunluk ve Sıralama, CoddyKit'te ücretsiz bir Lua Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Lua Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Lua Academy kursu toplamda 4 dersten oluşur.
Uzunluk İşleci
# işleci, bir dizideki öğe sayısını döndürür.
Üç öğeli, düzgün bir 1 tabanlı tabloda #t değeri 3 olur. Son öğe, #t dizininde bulunur.
local list = {"a", "b", "c"}
print(#list)
print(list[#list])Döngüde Uzunluk
Her dizini ziyaret etmek için #t ifadesini sayısal bir for döngüsünün üst sınırı olarak kullanın.
Diziler 1 tabanlı olduğundan aralık 1, #t şeklindedir.
local nums = {10, 20, 30, 40}
for i = 1, #nums do
print(i, nums[i])
endBoş Tablolar
Boş bir dizinin uzunluğu 0 olur.
Bu nedenle #t == 0 ifadesi, bir listede hiç öğe olup olmadığını hızlıca kontrol etmenizi sağlar.
local empty = {}
print(#empty)
if #empty == 0 then
print("list is empty")
endDeğişikliklerden Sonra Uzunluk
table işlevleriyle öğe eklediğinizde veya kaldırdığınızda # değeri buna göre güncellenir.
insert sayıyı artırır, remove ise azaltır.
local list = {"a", "b"}
table.insert(list, "c")
print(#list)
table.remove(list)
print(#list)Boşluklar Uzunluğu Bozar
# yalnızca boşluk içermeyen dizilerde güvenilirdir. Bir boşluk, sonucu tanımsız hâle getirebilir.
# değerinin güvenilir kalması için table.insert ve table.remove kullanın.
local good = {1, 2, 3}
print(#good)
table.insert(good, 4)
print(#good)Yerinde Sıralama
table.sort(t), diziyi yerinde yeniden sıralar; varsayılan olarak küçükten büyüğe sıralar.
Yeni bir tablo döndürmek yerine özgün tabloyu değiştirir.
local nums = {3, 1, 2}
table.sort(nums)
print(nums[1], nums[2], nums[3])Dizeleri Sıralama
Dizeler varsayılan olarak alfabetik biçimde, karakter karakter karşılaştırılarak sıralanır.
Sıralamadan sonra 1 dizini, sıradaki ilk öğeyi içerir.
local names = {"Cy", "Ann", "Bob"}
table.sort(names)
print(names[1], names[2], names[3])Azalan Sıra
Sırayı denetlemek için bir karşılaştırma işlevi aktarın. a > b sonucunu döndürmek, en büyük öğeyi ilk sıraya yerleştirir.
İşlev, a öğesinin b öğesinden önce gelip gelmeyeceğine karar verir.
local nums = {3, 1, 4, 2}
table.sort(nums, function(a, b)
return a > b
end)
print(nums[1], nums[2], nums[3], nums[4])Özel Karşılaştırmalar
Karşılaştırıcılar, alfabetik sıra yerine dize uzunluğu gibi herhangi bir kurala göre sıralama yapmanızı sağlar.
Aşağıda daha kısa sözcükler önce gelir.
local words = {"hello", "hi", "howdy"}
table.sort(words, function(a, b)
return #a < #b
end)
print(words[1], words[2], words[3])Uzunluk ve Sıralama
Araçları birleştirin: Bir listeyi sıralayın, ardından konumlarına göre uçlardaki öğeleri okuyun.
Artan sıralamadan sonra en küçük öğe 1 dizininde, en büyük öğe ise #t dizinindedir.
local data = {7, 2, 9, 4}
table.sort(data)
print("min:", data[1])
print("max:", data[#data])Sıralayıp Gezin
Yaygın bir işlem hattı şudur: Diziyi sıralayın, ardından sırayla yazdırmak için ipairs ile üzerinde gezin.
Sıralama, aynı 1 tabanlı tabloyu yeniden düzenlediğinden gezinme yeni sırayı izler.
local scores = {50, 10, 30}
table.sort(scores)
for i, s in ipairs(scores) do
print(i, s)
endKısa Kontrol
Uzunluk işleciyle ne elde ettiğinizi hatırlayın.
Özet
#t ifadesinin boşluksuz bir dizideki öğeleri saydığını, son öğenin t[#t] konumunda bulunduğunu ve table.sort işlevinin tabloyu yerinde yeniden düzenlediğini öğrendiniz. Varsayılan sıra artandır; özel bir karşılaştırıcı da kullanabilirsiniz.
insert, remove ve ipairs ile birlikte artık Lua dizilerini güvenle yönetebilirsiniz.
Sıkça Sorulan Sorular
“Uzunluk ve Sıralama” dersi ücretsiz mi?
Evet — “Uzunluk ve Sıralama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Lua Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Lua Academy kursu toplamda 4 dersten oluşur.
“Uzunluk ve Sıralama” dersinde ne öğreneceğim?
Dizileri sayın ve sıralayın. Lua Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Lua Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Lua Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Uzunluk ve Sıralama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Lua Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Lua Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Tablo Olarak Diziler
- Öğe Ekleme ve Kaldırma
- ipairs ile Yineleme
- Uzunluk ve Sıralama