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 MapsEntraînez-vous par vous-même : Compilateur Lua en ligne