Görev Özetini Yazdırma Fonksiyonu
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 51 / 80.
Görev
KolayListenin ne kadar ilerlediğini yazdıran bir işlev ekle.
-- Try italtındaki satırları sil.- Tamamlanan görevleri sayan ve
`{doneCount}/{#list} tasks done`yazdıranlocal function printSummary(list: {Task}): ()işlevini yaz. -- Try italtına önceprintSummary(tasks), ardındancompleteTask(tasks, 2), sonra da tekrarprintSummary(tasks)çağrılarını ekle.
Run Code düğmesine bas: çıktıda önce 1/3 tasks done, ardından 2/3 tasks done görünür.
Kendin dene
-- Yöneticideki her görevin uyduğu yapı
type Task = {
id: number,
title: string,
done: boolean,
}
local tasks: {Task} = {
{id = 1, title = "Learn Luau types", done = false},
{id = 2, title = "Build a task manager", done = false},
{id = 3, title = "Write tests", done = true},
}
-- Bir sonraki kullanılabilir id ile bir görev oluştur ve listeye ekle
local function addTask(list: {Task}, title: string): Task
local newTask: Task = {id = #list + 1, title = title, done = false}
table.insert(list, newTask)
return newTask
end
-- Bu id değerine sahip görevi tamamlandı olarak işaretle; böyle bir görev bulunup bulunmadığını bildir
local function completeTask(list: {Task}, id: number): boolean
for _, t in ipairs(list) do
if t.id == id then
t.done = true
return true
end
end
return false
end
-- done değeri eşleşen görevlerden oluşan yeni bir liste
local function filterTasks(list: {Task}, done: boolean): {Task}
local result: {Task} = {}
for _, t in ipairs(list) do
if t.done == done then
table.insert(result, t)
end
end
return result
end
-- Dene
local pending = filterTasks(tasks, false)
print(#pending)
print(pending[2].title)
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ş Fonksiyonlar7Proje: Tipli Görev Yöneticisi
Proje: Görev YapısıGörev Eklemek için Fonksiyon2Temel 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