Menu
CoddyTech

Funzione: Elencare le attività per stato

Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 50 di 80.

challenge icon

Sfida

Facile

Aggiungi una funzione che selezioni le attività in base al loro stato.

  1. Elimina le righe sotto -- Try it.
  2. Scrivi local function filterTasks(list: {Task}, done: boolean): {Task} che restituisca un nuovo elenco delle attività il cui done corrisponde al parametro.
  3. Sotto -- Try it, salva filterTasks(tasks, false) in local pending, poi stampa #pending e pending[2].title.

Premi Esegui codice: l'output mostra 2 e Build a task manager.

Provalo tu

-- La struttura che segue ogni attività nel gestore
type Task = {
    id: number,
    title: string,
    done: boolean,
}
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},
}
-- Crea un'attività con il prossimo id disponibile e aggiungila alla lista
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
-- Segna come completata l'attività con questo id; indica se ne è stata trovata una
local function completeTask(list: {Task}, id: number): boolean
    for _, t in ipairs(list) do
        if t.id == id then
            t.done = true
            return true
        end
    end
    return false
end
-- Provalo
print(completeTask(tasks, 1))
print(tasks[1].done)
print(completeTask(tasks, 99))

Tutte le lezioni di Introduzione a Luau

Esercitati da solo: Compilatore Luau online