Menu
Coddy logo textTech

Funktion zum Ändern des Task-Status

Teil des Abschnitts Einführung in Luau der Lua-Journey von Coddy — Lektion 47 von 73.

challenge icon

Aufgabe

Einfach

Ihr 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:

  • list vom Typ {Task}
  • id vom Typ number

Die Funktion sollte:

  • mittels ipairs über list iterieren und nach einer Task suchen, deren id übereinstimmt
  • falls gefunden, das Feld done dieser Task auf true setzen und true zurückgeben
  • falls keine Task übereinstimmt, false zurückgeben (Rückgabetyp boolean)

Drucken Sie dann, jeweils in einer eigenen Zeile:

  1. das done-Flag der ersten Task (vorher)
  2. das Ergebnis von completeTask(tasks, 1)
  3. das done-Flag der ersten Task (nachher)
  4. 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