Menu
Coddy logo textTech

Tablolar Üzerinde Yineleme

Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 17 / 73.

Lua tabloları üzerinde defalarca döngü kullandın: Luau tamamen aynı döngüleri korur ve döngü değişkenlerine türler ekler. Diziler için ipairs öğeler üzerinde sırayla, 1. indexten #t değerine kadar ilerler ve her iki değişkene de tür ek açıklaması verebilirsin:

local temps: {number} = {18, 21, 19}
for day: number, temp: number in ipairs(temps) do
    print(`Day {day}: {temp}`)
end

ipairs'in ilk eksik indiste durduğunu unutma: ortadaki bir nil boşluğu döngüyü erkenden sonlandırır. Düzenli tutulan dizilerde bu nadiren sorun olur, ancak bilmekte fayda var.

Haritalar için her anahtar/değer çiftini ziyaret eden pairs kullanılır: dâhil olmak üzere string anahtarları da. {[string]: number} türündeki bir haritada döngü değişkenleri doğal olarak bir string ve bir number olur:

local ages: {[string]: number} = {Alice = 30, Bob = 25}
for name: string, age: number in pairs(ages) do
    print(`{name} is {age}`)
end

Önemli bir uyarı: pairs, hash bölümündeki anahtarları garantili bir sıra olmadan ziyaret eder. Sıra çalıştırmalar arasında farklılık gösterebilir. Belirleyici çıktıya ihtiyaç duyduğunda (sıralanmış raporlar, testler), anahtarları bir dizi içinde topla, table.sort ile sırala; ardından ipairs kullanarak sıralanmış anahtarlar üzerinde döngü oluştur ve haritaya indeksleyerek eriş.

challenge icon

Görev

Kolay

18, 21, 19 ve 24 ile başlatılmış tür belirtilmiş bir dizi temps: {number} oluşturun.

ipairs ile üzerinde döngü kurun ve her iki döngü değişkenine de tür belirtimi ekleyin (day: number, temp: number). Her öğe için tam olarak şunu yazdırın:

Day 1: 18

(ters tırnaklarla dize enterpolasyonu kullanarak) ve her sıcaklığı devam eden toplama ekleyin.

Döngüden sonra toplamı kendi satırında yazdırın.

Kendin dene

-- Kodu buraya yaz
-- 1) temps'i tanımla: {number} = {18, 21, 19, 24}
-- 2) for day: number, temp: number in ipairs(temps) do ... end
--    `Day {day}: {temp}` yazdırma ve total'e toplama
-- 3) döngüden sonra total'i yazdır
quiz iconKendini test et

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

Luau'ya Giriş bölümündeki tüm dersler

Kendi başına pratik yap: Online Lua derleyicisi