Özet - Yüksek dereceli fonksiyonlar
- Kotlin kursu
- Orta seviye
- Ders 58/116
- 5 dk
lambda, it ve scope function'ları birleştirerek bir işlem hattı yazarsın.
Özet - Yüksek dereceli fonksiyonlar
Bu grupta fonksiyon türü, lambda, it, inline ve scope function'ları öğrendin. Hepsi fonksiyonları değer olarak taşır ve kısa kod yazmayı sağlar.
Bu özette bir işlem hattı yazacaksın: bir listedeki sayıları süz, dönüştür ve topla. filter, map ve sum chain halinde kullanılır. Tüm parçalar bir araya geldiğinde kısa ve okunaklı bir işlem hattı oluşur.
Uygulama filter-map-sum işlem hattı
val nums = listOf(1, 2, 3, 4, 5) bildir. val result = nums.filter { it % 2 == 0 }.map { it * 10 }.sum() bildir. main içinde println(result) çağrısı yapsın.
Başlangıç kodu
// nums listesi
// filter, map ve sum ile işlem hattı
// main'de sonucu yazdırÖrnek çözüm
val nums = listOf(1, 2, 3, 4, 5)
val result = nums.filter { it % 2 == 0 }.map { it * 10 }.sum()
fun main() {
println(result)
}Beklenen çıktı
60
Uygulama apply ile liste yapılandırma
val list = mutableListOf<Int>().apply { add(10); add(20); add(30) } bildir. main içinde println(list) çağrısı yapsın.
Başlangıç kodu
// list: apply ile 10, 20, 30 ekle
// apply nesneyi döndürür
// main'de listeyi yazdırÖrnek çözüm
val list = mutableListOf<Int>().apply { add(10); add(20); add(30) }
fun main() {
println(list)
}Beklenen çıktı
[10, 20, 30]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir işlem hattında <code>filter</code>, <code>map</code> ve <code>sum</code> neden chain halinde kullanılır?
Each chain step returns a list; the next step takes it.- Çünkü her biri ayrı değişken gerektirir
- Her adım bir öncekinin sonucunu alıp yeni sonuç ürettiği için Doğru cevap
- Çünkü chain olmadan derlenmezler
- Çünkü sadece Int ile çalışırlar
Açıklama: Her adım bir liste döndürür; sonraki adım onu alır.
2 fonksiyon türü tanımını tamamla
val format: (Int) ____ String = { n -> "Sayı: $n" }
val format: (Int) -> String = { n -> "Sayı: $n" }
Açıklama: -> dönüş türünü belirtir.