Değişkenlerde Enum Kullanımı
Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası — ders 60 / 65.
Artık enum'ları nasıl tanımlayacağınızı bildiğinize göre, programlarınızda onları gerçekte nasıl kullanacağınızı öğrenelim. Bir enum oluşturduktan sonra, o enum türünde değişkenler bildirebilir ve onlara belirli değerler atayabilirsiniz.
Bir enum türünde değişken bildirmek için, tıpkı diğer veri türlerinde olduğu gibi, enum adını ve ardından değişken adını belirtirsiniz:
Weather todayWeather = Weather.sunny;Enum değerlerine nokta notasyonu kullanarak nasıl eriştiğinize dikkat edin: Weather.sunny. Bu, Dart'a Weather enum'ından sunny değerini istediğinizi söyler.
Değişkenin değerini başka herhangi bir geçerli enum değerine değiştirebilirsiniz:
todayWeather = Weather.rainy;
todayWeather = Weather.cloudy;Enum değişkenlerini kullanmanın güzelliği, Dart'ın yalnızca geçerli enum değerlerini atayabilmenizi sağlamasıdır. Bir Weather değişkenine yanlışlıkla "stormy" veya başka bir geçersiz değer atayamazsınız; bu da yaygın programlama hatalarını önler ve kodunuzu daha güvenilir hale getirir.
Görev
KolayEnum'ları ve değişkenleri kullanarak basit bir görev takip sistemini yöneten bir program oluşturun. Göreviniz şunları yapmaktır:
- Şu değerlere sahip
TaskStatusadında bir enum tanımlayın:todo,inProgress,testing,completedvecancelled TaskStatustipindetask1Statusadında bir değişken oluşturun ve onaTaskStatus.tododeğerini atayınTaskStatustipindetask2Statusadında bir değişken oluşturun ve onaTaskStatus.inProgressdeğerini atayınTaskStatustipindetask3Statusadında bir değişken oluşturun ve onaTaskStatus.completeddeğerini atayın- Tüm görevlerin başlangıç durumlarını şu formatta yazdırın:
Task 1 status: TaskStatus.todo - Görev 2'nin başlangıç durumunu şu formatta yazdırın:
Task 2 status: TaskStatus.inProgress - Görev 3'ün başlangıç durumunu şu formatta yazdırın:
Task 3 status: TaskStatus.completed task1StatusdeğişkeniniTaskStatus.inProgressolarak güncelleyintask2StatusdeğişkeniniTaskStatus.testingolarak güncelleyin- Görev 1'in güncellenmiş durumunu şu formatta yazdırın:
Updated Task 1 status: TaskStatus.inProgress - Görev 2'nin güncellenmiş durumunu şu formatta yazdırın:
Updated Task 2 status: TaskStatus.testing - Görev 3'ün son durumunu şu formatta yazdırın:
Final Task 3 status: TaskStatus.completed
Programınız, enum anahtar kelimesini kullanarak doğru enum tanımlamayı, enum tipleriyle değişken bildirimini, nokta notasyonu kullanarak enum değerlerine erişmeyi ve enum değişkenlerini güncellemeyi göstermelidir. Enum adının büyük harfle başladığı ve enum değerlerinin küçük harfle yazıldığı Dart isimlendirme kurallarına uyduğunuzdan emin olun.
Kopya kağıdı
Bir enum türünde değişken bildirmek için, enum adını ve ardından değişken adını belirtin:
Weather todayWeather = Weather.sunny;Enum değerlerine EnumName.value biçimindeki nokta notasyonunu kullanarak erişin:
todayWeather = Weather.rainy;
todayWeather = Weather.cloudy;Dart, enum değişkenlerine yalnızca geçerli enum değerleri atayabilmenizi sağlayarak geçersiz atamaları önler ve kodu daha güvenilir hale getirir.
Kendin dene
import 'dart:io';
// YAPILACAK: TaskStatus enum'ınızı burada tanımlayın
void main() {
// YAPILACAK: Kodunuzu buraya yazın
// 1. task1Status değişkenini oluşturun ve TaskStatus.todo değerini atayın
// 2. task2Status değişkenini oluşturun ve TaskStatus.inProgress değerini atayın
// 3. task3Status değişkenini oluşturun ve TaskStatus.completed değerini atayın
// 4. Tüm görevlerin başlangıç durumlarını yazdırın
// 5. Görev durumlarını gerektiği gibi güncelleyin
// 6. Güncellenmiş ve nihai durumları yazdırın
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1İleri Düzey Liste İşlemleri
Liste Özellikleri: first & lastListe Durumu: isEmpty & isNotEmptyBir Listeyi Tersine ÇevirmeListeye Ekleme: insertListeden Silme: removeWhereListede Bulma: indexOfBir Listeyi SıralamaBir Listeyi KarıştırmaÖzet - Liste Düzenleyici4İleri Seviye Map İşlemleri
Map Üzerinde GezinmeAnahtar ve Değer KontrolüMap Özellikleri: keys & valuesKoşullu Ekleme: putIfAbsentMap'ten Öge Kaldırmaİç İçe Map'lerÖzet - Envanter Güncelleme7İleri Seviye Fonksiyonlar
Anonim FonksiyonlarFonksiyonları Argüman Olarak AktarmaClosure'ları AnlamakÖzyinelemeye GirişÖzyinelemeli Fonksiyon: Geri SayımÖzyinelemeli Fonksiyon: FaktöriyelÖzet - Liste İşleyici10Son Meydan Okumalar
Meydan Okuma: Not SıralayıcıMeydan Okuma: Sesli Harf SayacıMeydan Okuma: FizzBuzz2Fonksiyonel Liste İşlemleri
'map' ile Dönüştürme'where' ile Filtreleme'.toList()' Kullanımı'any' ile Koşul Kontrolü'every' ile Koşullar'firstWhere' ile BulmaÖzet - Veri Filtreleme5Proje: Alışveriş Sepeti Hesaplayıcı
Proje KurulumuSepete Ürün Ekleme3Kümeler
Küme Nedir?Küme OluşturmaKümelere Eleman Ekleme ve ÇıkarmaKüme İçinde Eleman KontrolüListeyi Kümeye DönüştürmeKüme BirleşimiKüme KesişimiKüme FarkıÖzet - Benzersiz Davetli Listesi6Temel Hata Yönetimi
İstisnalar Nedir?'try-catch' Bloğu'on' ile İstisnaları Yakalamak'finally' Bloğuİstisna FırlatmakÖzet - Güvenli Bölme9Numaralandırmalar (Enums)
Enum Nedir?Basit bir Enum TanımlamaDeğişkenlerde Enum Kullanımı'switch' İfadelerinde EnumlarÖzet - Trafik Lambası