Funktion zum Ändern des Task-Status
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy — Lektion 47 von 73.
Aufgabe
EinfachIhr Editor enthält bereits den Typ Task, das Array tasks und addTask aus den vorherigen Lektionen.
Erstellen Sie eine Funktion namens completeTask, die zwei Parameter entgegennimmt:
listvom Typ{Task}idvom Typnumber
Die Funktion sollte:
- mittels
ipairsüberlistiterieren und nach einer Task suchen, derenidübereinstimmt - falls gefunden, das Feld
donedieser Task auftruesetzen undtruezurückgeben - falls keine Task übereinstimmt,
falsezurückgeben (Rückgabetypboolean)
Drucken Sie dann, jeweils in einer eigenen Zeile:
- das
done-Flag der ersten Task (vorher) - das Ergebnis von
completeTask(tasks, 1) - das
done-Flag der ersten Task (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