Fonction pour ajouter une tâche
Fait partie de la section Introduction à Luau du Journey Lua de Coddy — leçon 46 sur 73.
Défi
FacileVotre éditeur contient déjà le type Task et le tableau tasks de la leçon précédente.
Créez une fonction nommée addTask qui prend deux paramètres :
listde type{Task}titlede typestring
La fonction doit :
- construire une nouvelle
Taskdont l'idest#list + 1, letitleest le titre donné, et le drapeaudoneestfalse - l'insérer dans
listavectable.insert - renvoyer la nouvelle tâche (type de retour
Task)
Ensuite, appelez addTask(tasks, "Review the code"), stockez le résultat dans une variable nommée added, puis imprimez, chacun sur sa propre ligne :
- le nombre de tâches maintenant présent dans
tasks added.idadded.titleadded.done
Essayez vous-même
-- La forme que chaque tâche du gestionnaire doit suivre
type Task = {
id: number,
title: string,
done: boolean,
}
-- La liste de 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},
}
-- Écrivez le code ici
-- 1) définir addTask(list: {Task}, title: string): Task
-- 2) call it with tasks and "Review the code", store the result in `added`
-- 3) afficher #tasks, puis added.id, added.title et added.done
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
Typage des paramètres et valeurs de retourTypage des fonctions anonymesFonctions ne retournant rienParamètres optionnelsValeurs par défaut des paramètresFonctions variadiquesDéfinition 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
Types de base : num, str, boolLe type 'any' : la porte de sortieLe type 'unknown'Types Nil et optionnelsL'inférence de type en actionAnnotations explicites de typeRécapitulatif : Pratique des 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ésAjout et lecture d'élémentsQu'est-ce qu'un type Map ?Déclaration et accès aux MapsItération sur les tablesTables à formes mixtesTableaux typés multidimensionnelstable.unpack et VarargsRécapitulatif : Tableaux et Maps