Fonction : lister les tâches par statut
Fait partie de la section Introduction à Luau du Journey Lua de Coddy. Leçon 50 sur 80.
Défi
FacileAjoute une fonction qui sélectionne les tâches selon leur statut.
- Supprime les lignes sous
-- Try it. - Écris
local function filterTasks(list: {Task}, done: boolean): {Task}qui renvoie une nouvelle liste des tâches dontdoneest égal au paramètre. - Sous
-- Try it, stockefilterTasks(tasks, false)danslocal pending, puis affiche#pendingetpending[2].title.
Appuie sur Run Code : la sortie affiche 2 et Build a task manager.
Essayez vous-même
-- La structure que suit chaque tâche du gestionnaire
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},
}
-- Crée une tâche avec le prochain id disponible et ajoute-la à la liste
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
-- Marque la tâche portant cet id comme terminée ; indique si une tâche a été trouvée
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
-- Essaie-le
print(completeTask(tasks, 1))
print(tasks[1].done)
print(completeTask(tasks, 99))
Toutes les leçons de Introduction à Luau
1Premiers pas avec Luau
Qu'est-ce que Luau ?Pourquoi utiliser Luau ?Votre premier code LuauVérification de type et modes d'erreurRécapitulatif : Introduction à Luau4Travailler avec les fonctions
Typer les paramètres et les valeurs de retourTyper les fonctions anonymesFonctions sans valeur de retourParamètres optionnelsValeurs par défaut des paramètresValeurs par défaut pour les booléensFonctions variadiquesDéfinir des types de fonctionsRécapitulatif : fonctions typées7Projet : gestionnaire de tâches typé
Projet : la structure d’une tâcheFonction pour ajouter une tâche2Types fondamentaux
Nombre, chaîne de caractères et booléenLe type « any » : une échappatoireLe type « unknown »Types nil et optionnelsL’inférence de types en actionAnnotations de type explicitesRécapitulatif : exercices sur les types fondamentaux5Alias, unions et intersections
Alias de types pour les types primitifsTypes unionsTravailler avec les types unionsTypes littérauxTypes intersectionsCombinaison d'alias de typesRécapitulatif : Combinaisons de types avancées3Tables typées : tableaux et maps
Tableaux typésAjouter et lire des élémentsQu’est-ce qu’un type Map ?Déclarer et accéder aux mapsParcourir les tablesTables de formes mixtesLire une grilleConstruire une grilletable.unpackRécapitulatif : tableaux et mapsEntraînez-vous par vous-même : Compilateur Luau en ligne