Menu
Coddy logo textTech

Używanie enumów w zmiennych

Część sekcji Logika i przepływ sterowania ścieżki Dart w Coddy. Lekcja 60 z 65.

Skoro wiesz już, jak definiować typy wyliczeniowe, nauczmy się teraz, jak faktycznie używać ich w programach. Gdy utworzysz typ wyliczeniowy, możesz deklarować zmienne tego typu i przypisywać im konkretne wartości.

Aby zadeklarować zmienną typu wyliczeniowego, podajesz nazwę typu wyliczeniowego, a następnie nazwę zmiennej, tak jak w przypadku każdego innego typu danych:

Weather todayWeather = Weather.sunny;

Zwróć uwagę, że dostęp do wartości wyliczenia uzyskujesz za pomocą notacji kropkowej: Weather.sunny. Informuje to Dart, że chcesz użyć wartości sunny z wyliczenia Weather.

Możesz zmienić wartość zmiennej na dowolną inną prawidłową wartość wyliczeniową:

todayWeather = Weather.rainy;
todayWeather = Weather.cloudy;

Zaletą korzystania ze zmiennych typu enum jest to, że Dart gwarantuje, iż możesz przypisywać im tylko prawidłowe wartości enum. Nie możesz przypadkowo przypisać wartości "stormy" ani żadnej innej nieprawidłowej wartości do zmiennej typu Weather, co zapobiega częstym błędom programistycznym i zwiększa niezawodność Twojego kodu.

challenge icon

Wyzwanie

Łatwy

Utwórz program, który zarządza prostym systemem śledzenia zadań za pomocą typów wyliczeniowych i zmiennych. Twoje zadanie:

  1. Zdefiniuj typ wyliczeniowy o nazwie TaskStatus z następującymi wartościami: todo, inProgress, testing, completed i cancelled
  2. Utwórz zmienną o nazwie task1Status typu TaskStatus i przypisz jej wartość TaskStatus.todo
  3. Utwórz zmienną o nazwie task2Status typu TaskStatus i przypisz jej wartość TaskStatus.inProgress
  4. Utwórz zmienną o nazwie task3Status typu TaskStatus i przypisz jej wartość TaskStatus.completed
  5. Wypisz początkowy status wszystkich zadań w dokładnym formacie: Task 1 status: TaskStatus.todo
  6. Wypisz początkowy status zadania 2 w dokładnym formacie: Task 2 status: TaskStatus.inProgress
  7. Wypisz początkowy status zadania 3 w dokładnym formacie: Task 3 status: TaskStatus.completed
  8. Zaktualizuj task1Status do TaskStatus.inProgress
  9. Zaktualizuj task2Status do TaskStatus.testing
  10. Wypisz zaktualizowany status zadania 1 w dokładnym formacie: Updated Task 1 status: TaskStatus.inProgress
  11. Wypisz zaktualizowany status zadania 2 w dokładnym formacie: Updated Task 2 status: TaskStatus.testing
  12. Wypisz końcowy status zadania 3 w dokładnym formacie: Final Task 3 status: TaskStatus.completed

Twój program powinien pokazywać prawidłową definicję typu wyliczeniowego za pomocą słowa kluczowego enum, deklarowanie zmiennych typów wyliczeniowych, dostęp do wartości typu wyliczeniowego za pomocą notacji kropkowej oraz aktualizowanie zmiennych typu wyliczeniowego. Pamiętaj o konwencjach nazewnictwa Dart: nazwa typu wyliczeniowego zaczyna się wielką literą, a jego wartości zapisuje się małymi literami.

Spróbuj swoich sił

import 'dart:io';

// TODO: Zdefiniuj tutaj enum TaskStatus

void main() {
  // TODO: Napisz tutaj swój kod
  // 1. Utwórz zmienną task1Status i przypisz jej TaskStatus.todo
  // 2. Utwórz zmienną task2Status i przypisz jej TaskStatus.inProgress  
  // 3. Utwórz zmienną task3Status i przypisz jej TaskStatus.completed
  // 4. Wypisz początkowy status wszystkich zadań
  // 5. Zaktualizuj statusy zadań zgodnie z wymaganiami
  // 6. Wypisz zaktualizowane i końcowe statusy
  
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Dart online