Menu
Coddy logo textTech

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. Rope

pairs() ile arasındaki temel fark, ipairs() bir nil değeri bulduğunda, sonrasında daha fazla öğe olsa bile hemen durmasıdır.

challenge icon

Görev

Kolay

Tü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. task3

Kendin dene

function listTasks(tasks)
    -- Kodu buraya yazın
end
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