ipairs() ile Yineleme
Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 2 / 54.
pairs() herhangi bir tablo yapısıyla çalışırken Lua, liste tarzı tablolar için özel olarak tasarlanmış ipairs() adlı bir işlev sağlar. Bu işlev, tablolarda sıralı bir şekilde yineler; 1 dizininden başlayarak bir nil değeriyle karşılaşana kadar devam eder.
ipairs() sözdizimi pairs() sözdizimine benzer:
for index, value in ipairs(myList) do
-- index ve value'yu burada kullan
endİşte bir görev öğeleri listesiyle ilgili bir örnek:
local questItems = {"Map", "Compass", "Torch", "Rope"}
for i, item in ipairs(questItems) do
print(i .. ". " .. item)
endÇıktı:
1. Map
2. Compass
3. Torch
4. Ropepairs() ile arasındaki temel fark, ipairs() bir nil değeri bulduğunda, sonrasında daha fazla öğe olsa bile hemen durmasıdır.
Görev
KolayTüm görevleri konum numaralarıyla birlikte listeleyen biçimlendirilmiş bir dize döndüren listTasks işlevini yazın. Bu işlev bir tasks tablosu almalıdır.
Görevler üzerinde sıralı düzende yineleme yapmak için ipairs() kullanın ve her satırda görev numarasının ardından görev adının number. task biçiminde gösterildiği bir dize oluşturun. Her görev ayrı bir satırda olmalıdır.
Parametreler:
tasks(table): Görev adlarını dize olarak içeren liste tarzı bir tablo
Döndürülen: Her görevin ayrı bir satırda numaralandırıldığı bir dize. Biçim:
1. task1
2. task2
3. task3Kendin dene
function listTasks(tasks)
-- Kodu buraya yazın
end
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
1İleri Düzey Tablo Yineleme
pairs() ile Yinelemeipairs() ile Yinelemepairs() vs. ipairs()Özet - Karakter Sayfası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