Scope function
- Kotlin kursu
- Orta seviye
- Ders 57/116
- 5 dk
let, run, apply, also, with scope function'ları öğrenirsin.
Scope function'lar
Scope function'lar, bir nesne üzerinde geçici bir kapsamda işlem yapar. Kotlin'de beş tane vardır: let, run, apply, also, with.
Örnek: val list = mutableListOf<Int>().apply { add(1); add(2) }. apply nesneyi yapılandırır ve kendisini döndürür. val s = "merhaba".let { it.uppercase() } çağrısı "MERHABA" döndürür. let dönüş değeri üretir; apply nesneyi döndürür. Her scope function farklı bir bağlam sağlar; doğru seçim kodu kısa ve okunaklı yapar.
apply ve let
apply ve let en sık kullanılan scope function'lardır. apply yapılandırma için, let dönüşüm için uygundur.
Örnek: val list = mutableListOf<Int>().apply { add(1); add(2) } çağrısı [1, 2] listesini verir. val upper = "merhaba".let { it.uppercase() } çağrısı "MERHABA" döndürür. apply içinde this nesneyi ifade eder; let içinde it nesneyi ifade eder. Hangi scope function'ın seçileceği amaçlara göre değişir.
Uygulama apply ve let kullanımı
val list = mutableListOf<Int>().apply { add(1); add(2) } bildir. val upper = "merhaba".let { it.uppercase() } bildir. main içinde println(list) ve println(upper) çağrılarını ayrı satırlarda yap.
Başlangıç kodu
// list: apply ile 1 ve 2 ekle
// upper: let ile büyük harfe çevir
// main'de ikisini yazdırÖrnek çözüm
val list = mutableListOf<Int>().apply { add(1); add(2) }
val upper = "merhaba".let { it.uppercase() }
fun main() {
println(list)
println(upper)
}Beklenen çıktı
[1, 2] MERHABA
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 scope function'ları eşle
| Kavram | Anlamı |
|---|---|
let |
Dönüş değeri üretir |
run |
Nesne üzerinde kod çalıştırır |
apply |
Nesneyi döndürür, this |
also |
Nesneyi döndürür, it |
2 Bir nesneyi yapılandırıp kendisini döndüren scope function hangisidir?
- apply Doğru cevap
- run
- let
- with
Açıklama: apply nesneyi yapılandırır ve kendisini döndürür.
3 apply ile nesne tamamla
val list = mutableListOf<Int>().____ { add(1); add(2) }
val list = mutableListOf<Int>().apply { add(1); add(2) }
Açıklama: apply nesneyi yapılandırır ve döndürür.