Utiliser des Enums dans des variables
Fait partie de la section Logique & Flux du Journey Dart de Coddy. Leçon 60 sur 65.
Maintenant que vous savez comment définir des énumérations, apprenons comment les utiliser concrètement dans vos programmes. Une fois que vous avez créé une énumération, vous pouvez déclarer des variables de ce type d'énumération et leur assigner des valeurs spécifiques.
Pour déclarer une variable d’un type énuméré, vous indiquez le nom de l’énumération suivi du nom de la variable, comme pour tout autre type de données :
Weather todayWeather = Weather.sunny;Remarquez comment vous accédez aux valeurs d'une énumération en utilisant la notation par point : Weather.sunny. Cela indique à Dart que vous voulez la valeur sunny de l'énumération Weather.
Vous pouvez changer la valeur de la variable pour n'importe quelle autre valeur d'énumération valide :
todayWeather = Weather.rainy;
todayWeather = Weather.cloudy;L’avantage des variables d’énumération est que Dart garantit que vous ne pouvez affecter que des valeurs d’énumération valides. Vous ne pouvez pas affecter accidentellement "stormy" ou toute autre valeur non valide à une variable Weather, ce qui évite les erreurs de programmation courantes et rend votre code plus fiable.
Défi
FacileCréez un programme qui gère un système simple de suivi des tâches à l’aide d’énumérations et de variables. Votre tâche consiste à :
- Définir une énumération appelée
TaskStatusavec les valeurs suivantes :todo,inProgress,testing,completedetcancelled - Créer une variable appelée
task1Statusde typeTaskStatuset lui attribuer la valeurTaskStatus.todo - Créer une variable appelée
task2Statusde typeTaskStatuset lui attribuer la valeurTaskStatus.inProgress - Créer une variable appelée
task3Statusde typeTaskStatuset lui attribuer la valeurTaskStatus.completed - Afficher le statut initial de toutes les tâches au format exact suivant :
Task 1 status: TaskStatus.todo - Afficher le statut initial de la tâche 2 au format exact suivant :
Task 2 status: TaskStatus.inProgress - Afficher le statut initial de la tâche 3 au format exact suivant :
Task 3 status: TaskStatus.completed - Mettre à jour
task1StatusavecTaskStatus.inProgress - Mettre à jour
task2StatusavecTaskStatus.testing - Afficher le statut mis à jour de la tâche 1 au format exact suivant :
Updated Task 1 status: TaskStatus.inProgress - Afficher le statut mis à jour de la tâche 2 au format exact suivant :
Updated Task 2 status: TaskStatus.testing - Afficher le statut final de la tâche 3 au format exact suivant :
Final Task 3 status: TaskStatus.completed
Votre programme doit montrer une définition correcte d’une énumération à l’aide du mot-clé enum, la déclaration de variables avec des types d’énumération, l’accès aux valeurs d’énumération à l’aide de la notation par points et la mise à jour de variables d’énumération. Veillez à respecter les conventions de nommage de Dart : le nom de l’énumération commence par une lettre majuscule et les valeurs de l’énumération s’écrivent en minuscules.
Essayez vous-même
import 'dart:io';
// TODO: Définissez votre enum TaskStatus ici
void main() {
// TODO: Écrivez votre code ici
// 1. Créez la variable task1Status et assignez TaskStatus.todo
// 2. Créez la variable task2Status et assignez TaskStatus.inProgress
// 3. Créez la variable task3Status et assignez TaskStatus.completed
// 4. Affichez le statut initial de toutes les tâches
// 5. Mettez à jour les statuts des tâches comme requis
// 6. Affichez les statuts mis à jour et finaux
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Manipulation avancée des listes
Propriétés de liste : first & lastÉtat de la liste : isEmpty & isNotEmptyInverser une listeAjouter à une liste : insertSuppression dans une liste : removeWhereRechercher dans une liste : indexOfTrier une listeMélanger une listeRécapitulatif - Organisateur de liste4Manipulation avancée des Maps
Itérer sur une MapVérifier les clés et les valeursPropriétés de Map : keys & valuesAjout conditionnel : putIfAbsentSupprimer des entrées d'une MapMaps imbriquéesRécapitulatif - Mise à jour de l'inventaire2Opérations fonctionnelles sur les listes
Transformer avec 'map'Filtrer avec 'where'Utiliser '.toList()'Vérifier des conditions avec 'any'Conditions avec 'every'Trouver avec 'firstWhere'Récapitulatif - Filtrage de données3Les Ensembles
Qu'est-ce qu'un ensemble ?Créer un ensembleAjouter et supprimer des éléments d'un ensembleVérifier la présence d'éléments dans un ensembleConvertir une liste en ensembleUnion d'ensemblesIntersection d'ensemblesDifférence d'ensemblesRécapitulatif - Liste d'invités uniques6Gestion de base des erreurs
Que sont les exceptions ?Le bloc 'try-catch'Intercepter des exceptions avec 'on'Le bloc 'finally'Lever une exceptionRécapitulatif - Division sécurisée9Énumérations (Enums)
Qu'est-ce que les Enums ?Définir un Enum simpleUtiliser des Enums dans des variablesLes Enums dans les instructions 'switch'Récapitulatif - Feu de signalisationEntraînez-vous par vous-même : Compilateur Dart en ligne