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}`)
endipairs'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ş.
Görev
Kolay18, 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
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
1Luau ile Başlarken
Luau Nedir?Neden Luau Kullanılmalı?İlk Luau KodunuzTip Denetimi ve Hata ModlarıÖzet: Luau'ya Giriş4Fonksiyonlarla Çalışmak
Parametreleri ve Geri Dönüş Değerlerini TiplendirmeAnonim Fonksiyonları TiplendirmeHiçbir Şey Döndürmeyen Fonksiyonlarİsteğe Bağlı ParametrelerVarsayılan Parametre DeğerleriDeğişken Sayıda Parametre Alan Fonksiyonlar (Variadic)Fonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar2Temel Tipler
Temel Tipler: num, str, bool'any' Tipi: Kaçış Yolu'unknown' TipiNil ve İsteğe Bağlı (Optional) TiplerUygulamada Tip ÇıkarımıAçık Tip BelirteçleriÖzet: Temel Tipler Pratiği5Diğ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ı3Tipli Tablolar: Diziler ve Map'ler
Tipli DizilerEleman Ekleme ve OkumaMap Tipi Nedir?Map Bildirimi ve Map'lere ErişimTablolar Üzerinde YinelemeKarma Biçimli TablolarÇok Boyutlu Tipli Dizilertable.unpack ve VarargsÖzet: Diziler ve Map'lerKendi başına pratik yap: Online Lua derleyicisi