CodeBlanks Logo Icon CodeBlanks

Enum ve range

Enum ile range ve iterator öğrenirsin.

Enum ve range: sıralı dolaşma

Bir enum'un entries listesi üzerinde for döngüsü kurarak tüm sabitleri sırayla dolaşabilirsin.

for (c in Color.entries) {
    println(c)
}
// RED, GREEN, BLUE

entries değiştirilemez bir liste olduğu için döngü sırasında değişmez. Sıra, tanım sırasına bağlıdır. Böylece her seferinde aynı düzeni garantilersin.

Sıra numarasıyla filtreleme

Sabitlerin ordinal değerini kullanarak bir alt küme seçebilirsin. Bu, sıralama mantığı kurmak için pratiktir.

val ilkIkili = Color.entries.filter { it.ordinal < 2 }
// [RED, GREEN]

filter her sabiti bir koşula göre süzer. it listedeki her bir sabittir. Böylece tanım sırasına göre alt kümeler elde edersin.

Uygulama Bedenleri yazdır

Size adında bir enum class tanımla: SMALL, MEDIUM, LARGE. entries üzerinde bir for döngüsüyle her sabiti ayrı satırda yazdır.

Başlangıç kodu

Main.kt
fun main() {
    // Bir beden türü tanımla ve tüm sabitleri yazdır
}

Örnek çözüm

Main.kt
enum class Size { SMALL, MEDIUM, LARGE }

fun main() {
    for (s in Size.entries) {
        println(s)
    }
}

Beklenen çıktı

SMALL
MEDIUM
LARGE

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Yapı ve kullanım eşleştir

Kavram Anlamı
entries Tüm sabitler
for (c in ...) Döngü
ordinal Sıra numarası
Color.RED Tek sabit

2 Tüm sabitleri sırayla dolaşmak için ne kullanılır?

  • Color.each
  • for (c in Color.entries) Doğru cevap
  • Color.loop
  • for (c of Color)

Açıklama: for ile entries üzerinde döngü kurulur.

3 Boşluğu doldur: döngü kur

Soru
for (c in Color.____) println(c)
Cevap
for (c in Color.entries) println(c)

Açıklama: Color.entries ile tüm sabitlere erişirsin.

Başlangıç bölümündeki tüm dersler