Tablolar Üzerinde Yineleme
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 17 / 80.
Lua tabloları üzerinde birçok kez döngü kurdun: Luau aynı döngüleri kullanır 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 açıklaması ekleyebilirsin:
local temps: {number} = {18, 21, 19}
for day: number, temp: number in ipairs(temps) do
print(`Day {day}: {temp}`)
endipairs işlevinin ilk eksik indiste durduğunu unutma: ortadaki bir nil boşluğu döngüyü erkenden bitirir. Düzgün tutulan dizilerde bu nadiren sorun olur, ama bilmekte fayda var.
Eşlemeler için, her anahtar/değer çiftini ziyaret eden pairs işlevini kullan; buna string anahtarlar da dahildir. {[string]: number} türündeki bir eşlemede, 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ırayla ziyaret etmez. Sıra çalıştırmalar arasında değişebilir. Belirleyici bir çıktıya (sıralı raporlar, testler) ihtiyacın olduğunda anahtarları bir dizide topla, diziye table.sort uygula, ardından sıralanmış anahtarlar üzerinde ipairs ile döngü kur ve eşlemedeki değerleri indeksle.
Görev
KolayBir haftalık sıcaklıkları ve toplamlarını yazdır.
local temps: {number} = {12, 15, 11, 14}velocal total = 0tanımla.for day: number, temp: number in ipairs(temps) doile döngü kur,`Day {day}: {temp}`yazdır vetempdeğerinitotaldeğerine ekle.- Döngüden sonra
totaldeğerini yazdır.
Kodu çalıştır düğmesine bas: çıktı önce Day 1: 12 ile Day 4: 14 arasını, ardından 52 değerini gösterir.
Kendin dene
-- 1) temps: {number} ve total = 0 olarak tanımla
-- 2) day ve temp türleri belirtilmiş olarak döngü kur, her day değerini yazdır, total değerine ekle
-- 3) total değerini yazdır
Luau'ya Giriş bölümündeki tüm dersler
1Luau ile Başlarken
Luau Nedir?Neden Luau Kullanılmalı?İlk Luau KodunuzTip Denetimi ve Hata ModlarıÖzet: Luau'ya Giriş4Fonksiyonlarla Çalışma
Parametreleri ve Dönüş Değerlerini Tür BelirtmeAnonim Fonksiyonları Tür BelirtmeDeğer Döndürmeyen Fonksiyonlarİsteğe Bağlı ParametrelerVarsayılan Parametre DeğerleriBoolean Değerler için VarsayılanlarDeğişken Sayıda Parametre Alan FonksiyonlarFonksiyon Türlerini TanımlamaTekrar: Tür Belirtilmiş Fonksiyonlar2Temel Türler
Number, String ve Boolean'any' Türü: Kaçış Yolu'unknown' TürüNil ve İsteğe Bağlı TürlerTür Çıkarımı UygulamadaAçık Tür Ek AçıklamalarıTekrar: Temel Türler Alıştırması5Diğer Adlar (Aliases), Birleşimler, Kesişimler
İlkel Tipler için Tip Diğer Adları (Type Aliases)Birleşim Tipleri (Union Types)Birleşim Tipleri ile ÇalışmakLiteral (Sabit) TiplerKesişim Tipleri (Intersection Types)Tip Diğer Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Türlenmiş Tablolar: Diziler ve Map’ler
Türlenmiş DizilerÖğe Ekleme ve OkumaMap Türü Nedir?Map’leri Tanımlama ve ErişmeTablolar Üzerinde YinelemeKarma Şekilli TablolarBir Izgarayı OkumaBir Izgara Oluşturmatable.unpackÖzet: Diziler ve Map’lerKendi başına pratik yap: Online Luau derleyicisi