Menu
Coddy logo textTech

Fonction pour modifier le statut d'une tâche

Fait partie de la section Introduction à Luau du Journey Lua de Coddy — leçon 47 sur 73.

challenge icon

Défi

Facile

Votre éditeur contient déjà le type Task, le tableau tasks et la fonction addTask des leçons précédentes.

Créez une fonction nommée completeTask qui prend deux paramètres :

  • list de type {Task}
  • id de type number

La fonction doit :

  • parcourir list avec ipairs à la recherche d'une tâche dont l'id correspond
  • si elle est trouvée, définir la propriété done de cette tâche à true et retourner true
  • si aucune tâche ne correspond, retourner false (type de retour boolean)

Ensuite, affichez avec print, chacun sur sa propre ligne :

  1. le fanion done de la première tâche (avant)
  2. le résultat de completeTask(tasks, 1)
  3. le fanion done de la première tâche (après)
  4. le résultat de completeTask(tasks, 99)

Essayez vous-même

-- La forme que chaque tâche du gestionnaire doit suivre
type Task = {
    id: number,
    title: string,
    done: boolean,
}

-- La liste des tâches : un tableau typé de formes Task
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},
}

-- Construire une tâche typée avec le prochain id libre et l'insérer
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

-- Écrire le code ici
-- 1) définir completeTask(list: {Task}, id: number): boolean
-- 2) afficher tasks[1].done, completeTask(tasks, 1), tasks[1].done,
--    et completeTask(tasks, 99)

Toutes les leçons de Introduction à Luau