Funktion zum Hinzufügen eines Tasks
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy — Lektion 46 von 73.
Aufgabe
EinfachIhr Editor enthält bereits den Typ Task und das Array tasks aus der vorherigen Lektion.
Erstellen Sie eine Funktion namens addTask, die zwei Parameter entgegennimmt:
listvom Typ{Task}titlevom Typstring
Die Funktion sollte:
- einen neuen
Taskerstellen, dessenidden Wert#list + 1hat, dessentitledem übergebenen Titel entspricht und dessendone-Flagfalseist - ihn mit
table.insertinlisteinfügen - die neue Aufgabe zurückgeben (Rückgabetyp
Task)
Rufen Sie dann addTask(tasks, "Review the code") auf, speichern Sie das Ergebnis in einer Variablen namens added und geben Sie jeweils in einer eigenen Zeile Folgendes aus:
- die Anzahl der Aufgaben, die sich jetzt in
tasksbefinden added.idadded.titleadded.done
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},
}
-- Schreibe hier Code
-- 1) definiere addTask(list: {Task}, title: string): Task
-- 2) call it with tasks and "Review the code", store the result in `added`
-- 3) gib #tasks aus, dann added.id, added.title und added.done
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