Funktion zum Hinzufügen eines Tasks
Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy. Lektion 46 von 73.
Aufgabe
EinfachDein Editor enthält bereits den Typ Task und das tasks-Array aus der vorherigen Lektion.
Erstelle eine Funktion namens addTask, die zwei Parameter entgegennimmt:
listvom Typ{Task}titlevom Typstring
Die Funktion sollte:
- ein neues
Taskerstellen, dessenid#list + 1ist, dessentitledem angegebenen Titel entspricht und dessendone-Flagfalseist - es mit
table.insertinlisteinfügen - die neue Aufgabe zurückgeben (Rückgabetyp
Task)
Rufe dann addTask(tasks, "Review the code") auf, speichere das Ergebnis in einer Variable namens added und gib 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Übe selbstständig: Online-Lua-Compiler