Funktion: Aufgaben nach Status auflisten
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 50 von 80.
Aufgabe
EinfachFüge eine Funktion hinzu, die Aufgaben nach ihrem Status auswählt.
- Lösche die Zeilen unter
-- Try it. - Schreibe
local function filterTasks(list: {Task}, done: boolean): {Task}, die eine neue Liste der Aufgaben zurückgibt, derendone-Wert dem Parameter entspricht. - Speichere unter
-- Try itfilterTasks(tasks, false)inlocal pendingund gib anschließend#pendingundpending[2].titleaus.
Klicke auf Run Code: Die Ausgabe zeigt 2 und Build a task manager.
Probier es selbst
-- Die Struktur, der jede Aufgabe im Manager folgt
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},
}
-- Erstelle eine Aufgabe mit der nächsten freien id und füge sie der Liste hinzu
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
-- Markiere die Aufgabe mit dieser id als erledigt; gib an, ob eine gefunden wurde
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
-- Probiere es aus
print(completeTask(tasks, 1))
print(tasks[1].done)
print(completeTask(tasks, 99))
Alle Lektionen in Einführung in Luau
1Erste Schritte mit Luau
Was ist Luau?Warum Luau nutzen?Dein erster Luau-CodeTypprüfung & FehlermodiZusammenfassung: Einführung in Luau4Mit Funktionen arbeiten
Parameter und Rückgabewerte typisierenAnonyme Funktionen typisierenFunktionen ohne RückgabewertOptionale ParameterStandardwerte für ParameterStandardwerte für boolesche WerteFunktionen mit variabler ParameteranzahlFunktionstypen definierenRückblick: typisierte Funktionen7Projekt: Typisierter Aufgabenmanager
Projekt: Die AufgabenstrukturFunktion zum Hinzufügen einer Aufgabe2Grundlegende Typen
Zahl, String und BooleanDer Typ „any“: NotausgangDer Typ „unknown“Nil- und optionale TypenTypinferenz in der PraxisExplizite TypannotationenRückblick: Übung zu grundlegenden Typen5Typ-Aliase, Union-Typen und Schnittmengen-Typen
Typ-Aliase für PrimitivenUnion-TypenArbeiten mit Union-TypenLiterale TypenSchnittmengen-Typen (Intersection Types)Kombination von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Typisierte Tabellen: Arrays & Maps
Typisierte ArraysElemente hinzufügen und auslesenWas ist ein Map-Typ?Maps deklarieren und auf Elemente zugreifenTabellen durchlaufenTabellen mit gemischten FormenEin Raster auslesenEin Raster erstellentable.unpackRückblick: Arrays und MapsÜbe selbstständig: Online-Luau-Compiler