Funktion zum Ändern des Task-Status
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 47 von 73.
Aufgabe
EinfachDein Editor enthält bereits den Typ Task, das Array tasks und addTask aus den vorherigen Lektionen.
Erstelle eine Funktion namens completeTask, die zwei Parameter entgegennimmt:
listvom Typ{Task}idvom Typnumber
Die Funktion sollte:
- mit
ipairsüberlistiterieren und nach einer Aufgabe suchen, derenidübereinstimmt - wenn sie gefunden wird,
donedieser Aufgabe auftruesetzen undtruezurückgeben - wenn keine Aufgabe übereinstimmt,
falsezurückgeben (Rückgabetypboolean)
Gib anschließend jeweils in einer eigenen Zeile aus:
- das
done-Flag der ersten Aufgabe (vorher) - das Ergebnis von
completeTask(tasks, 1) - das
done-Flag der ersten Aufgabe (nachher) - das Ergebnis von
completeTask(tasks, 99)
Probier es selbst
-- Die Form, der jede Aufgabe im Manager folgen muss
type Task = {
id: number,
title: string,
done: boolean,
}
-- Die Aufgabenliste: ein typisiertes Array von Task-Formen
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 typisierte Aufgabe mit der nächsten freien id und füge sie ein
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
-- Schreibe hier den Code
-- 1) definiere completeTask(list: {Task}, id: number): boolean
-- 2) gib tasks[1].done, completeTask(tasks, 1), tasks[1].done aus,
-- und 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 Luau4Arbeiten mit Funktionen
Typisierung von Parametern & RückgabewertenTypisierung von anonymen FunktionenFunktionen ohne RückgabewertOptionale ParameterStandard-ParameterwerteVariadische FunktionenDefinieren von FunktionstypenZusammenfassung: Typisierte Funktionen7Projekt: Typisierter Task-Manager
Projekt: Die Task-StrukturFunktion zum Hinzufügen eines Tasks2Grundtypen
Grundlegende Typen: num, str, boolDer Typ 'any': Der AuswegDer Typ 'unknown'Nil- & optionale TypenTypinferenz in der PraxisExplizite TypannotationenZusammenfassung: Praxis zu Grundtypen5Typ-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 ArraysHinzufügen und Lesen von ElementenWas ist ein Map-Typ?Deklarieren und Zugreifen auf MapsIterieren von TabellenGemischt-strukturierte TabellenMehrdimensionale typisierte Arraystable.unpack und VarargsZusammenfassung: Arrays und MapsÜbe selbstständig: Online-Lua-Compiler