Menu
Coddy logo textTech

Funkcja zmieniająca status zadania

Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 47 z 73.

challenge icon

Wyzwanie

Łatwy

Twój edytor zawiera już typ Task, tablicę tasks i funkcję addTask z poprzednich lekcji.

Utwórz funkcję o nazwie completeTask, która przyjmuje dwa parametry:

  • list typu {Task}
  • id typu number

Funkcja powinna:

  • przejść pętlą po list za pomocą ipairs, szukając zadania, którego id jest zgodne
  • jeśli zostanie znalezione, ustawić done tego zadania na true i zwrócić true
  • jeśli żadne zadanie nie pasuje, zwrócić false (typ zwracanej wartości boolean)

Następnie wypisz, każdy element w osobnym wierszu:

  1. wartość flagi done pierwszego zadania (przed)
  2. wynik completeTask(tasks, 1)
  3. wartość flagi done pierwszego zadania (po)
  4. wynik completeTask(tasks, 99)

Spróbuj swoich sił

-- The shape every task in the manager must follow
type Task = {
    id: number,
    title: string,
    done: boolean,
}

-- The task list: a typed array of Task shapes
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},
}

-- Build a typed task with the next free id and insert it
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

-- Add a task and inspect what came back
local added: Task = addTask(tasks, "Review the code")
print(#tasks)
print(added.id)
print(added.title)
print(added.done)

Wszystkie lekcje w sekcji Wprowadzenie do Luau

Poćwicz samodzielnie: Kompilator Luau online