Definiowanie prostego enuma
Część sekcji Logika i przepływ sterowania ścieżki Dart w Coddy. Lekcja 59 z 65.
Skoro już wiesz, czym są typy wyliczeniowe, nauczmy się tworzyć je w Dart. Składnia jest prosta i opiera się na prostym schemacie.
Aby zdefiniować enum, użyj słowa kluczowego enum, a następnie podaj nazwę enuma i listę wartości w nawiasach klamrowych:
enum Weather {
sunny,
cloudy,
rainy
}Każda wartość w wyliczeniu jest oddzielona przecinkiem, a zgodnie z konwencją wartości wyliczenia zapisuje się małymi literami. Sama nazwa wyliczenia powinna zaczynać się wielką literą, zgodnie z konwencjami nazewnictwa w Dart.
Po zdefiniowaniu typu wyliczeniowego możesz używać go w całym programie. Możesz na przykład utworzyć typy wyliczeniowe dla ról użytkowników, stanów gry lub poziomów priorytetu:
enum Priority {
low,
medium,
high
}Tworzenie typu wyliczeniowego jest takie proste! Zasadniczo tworzysz nowy typ danych o ustalonym zestawie możliwych wartości, dzięki czemu Twój kod będzie bardziej niezawodny i łatwiejszy do zrozumienia.
Wyzwanie
ŁatwyUtwórz program, który definiuje typ wyliczeniowy dla różnych rodzajów języków programowania i pokazuje, jak go używać. Twoje zadanie:
- Zdefiniuj typ wyliczeniowy o nazwie
ProgrammingLanguagez następującymi wartościami:dart,python,javascript,javaicpp - Utwórz zmienną o nazwie
currentLanguagetypuProgrammingLanguagei przypisz jej wartośćProgrammingLanguage.dart - Utwórz kolejną zmienną o nazwie
nextLanguagetypuProgrammingLanguagei przypisz jej wartośćProgrammingLanguage.python - Wyświetl bieżący język w dokładnym formacie:
Currently learning: ProgrammingLanguage.dart - Wyświetl następny język w dokładnym formacie:
Next to learn: ProgrammingLanguage.python - Zmień wartość
currentLanguagenaProgrammingLanguage.javascript - Wyświetl zaktualizowany bieżący język w dokładnym formacie:
Updated current language: ProgrammingLanguage.javascript
Twój program powinien pokazywać prawidłową składnię definiowania typu wyliczeniowego za pomocą słowa kluczowego enum, deklarowania zmiennych typu wyliczeniowego oraz odwoływania się do wartości typu wyliczeniowego za pomocą notacji kropkowej. Pamiętaj o przestrzeganiu konwencji nazewnictwa w Dart: nazwy typów wyliczeniowych zaczynają się wielką literą, a ich wartości są zapisywane małymi literami.
Spróbuj swoich sił
// TODO: Zdefiniuj tutaj enum ProgrammingLanguage
void main() {
// TODO: Napisz tutaj swój kod
// 1. Utwórz zmienną currentLanguage i przypisz jej ProgrammingLanguage.dart
// 2. Utwórz zmienną nextLanguage i przypisz jej ProgrammingLanguage.python
// 3. Wypisz bieżący język w wymaganym formacie
// 4. Wypisz następny język w wymaganym formacie
// 5. Zmień wartość currentLanguage na ProgrammingLanguage.javascript
// 6. Wypisz zaktualizowany bieżący język w wymaganym formacie
}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
1Zaawansowana manipulacja listami
Właściwości listy: first i lastStan listy: isEmpty i isNotEmpOdwracanie listyDodawanie do listy: insertUsuwanie z listy: removeWhereWyszukiwanie na liście: indexOfSortowanie listyMieszanie elementów listyPodsumowanie – Organizator listy4Zaawansowane operacje na mapach
Iterowanie po mapieSprawdzanie kluczy i wartościWłaściwości mapy: klucze i wartościDodawanie warunkowe: putIfAbsentUsuwanie wpisów z mapyZagnieżdżone mapyPodsumowanie – aktualizacja stanu magazynowego2Operacje funkcyjne na listach
Przekształcanie za pomocą 'map'Filtrowanie za pomocą 'where'Używanie '.toList()'Sprawdzanie warunków za pomocą 'any'Warunki z użyciem 'every'Wyszukiwanie za pomocą 'firstWhere'Podsumowanie — filtrowanie danych5Projekt: Kalkulator koszyka zakupowego
Konfiguracja projektuDodawanie produktów do koszyka3Zbiory
Czym jest zbiór?Tworzenie zbioruDodawanie i usuwanie elementów ze zbiorówSprawdzanie, czy element znajduje się w zbiorzeKonwersja listy na zbiórSuma zbiorówCzęść wspólna zbiorówRóżnica zbiorówPodsumowanie — unikalna lista gości6Podstawy obsługi błędów
Czym są wyjątki?Blok „try-catch”Przechwytywanie wyjątków za pomocą „on”Blok „finally”Rzucanie wyjątkuPodsumowanie – bezpieczne dzielenie9Wyliczenia (enumy)
Czym są enumy?Definiowanie prostego enumaUżywanie enumów w zmiennychEnumy w instrukcjach „switch”Podsumowanie – sygnalizacja świetlnaPoćwicz samodzielnie: Kompilator Dart online