CodeBlanks Logo Icon CodeBlanks

Scope function

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

Main.kt
// list: apply ile 1 ve 2 ekle
// upper: let ile büyük harfe çevir
// main'de ikisini yazdır

Örnek çözüm

Main.kt
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

Soru
val list = mutableListOf<Int>().____ { add(1); add(2) }
Cevap
val list = mutableListOf<Int>().apply { add(1); add(2) }

Açıklama: apply nesneyi yapılandırır ve döndürür.

Orta seviye bölümündeki tüm dersler