CodeBlanks Logo Icon CodeBlanks

Lambda

{ x -> x * 2 } ile lambda ifadelerini öğrenirsin.

Lambda

Bir lambda, adı olmayan bir fonksiyondur. { x -> x * 2 } biçiminde yazılır; süslü parantez içinde parametre ve gövde bulunur.

Örnek: val double: (Int) -> Int = { x -> x * 2 }. Bu lambda bir Int alır ve iki katını döndürür. double(5) çağrısı 10 döndürür. Lambda'lar değişkene atanabilir, parametre olarak geçirilebilir veya koleksiyon metotlarında kullanılabilir. Kotlin'de lambda son parametre olduğunda parantez dışına yazılabilir.

Lambda çağrısı

Bir lambda değişkene atandıktan sonra değişken adıyla çağrılır. invoke metodu da kullanılabilir.

Örnek: val double: (Int) -> Int = { x -> x * 2 }. double(5) veya double.invoke(5) çağrısı 10 döndürür. Lambda türü (Int) -> Int şeklindedir; parametre ve dönüş türleri açıktır. Lambda'lar kısa tek satırlık yardımcılar için idealdir. Uzun gövdelerde fun tanımı tercih edilir.

Uygulama double lambda

val double: (Int) -> Int = { x -> x * 2 } bildir. main içinde println(double(5)) çağrısı yapsın.

Başlangıç kodu

Main.kt
// double fonksiyon türünde lambda
// x -> x * 2 gövdesi
// main'de çağır ve yazdır

Örnek çözüm

Main.kt
val double: (Int) -> Int = { x -> x * 2 }

fun main() {
    println(double(5))
}

Beklenen çıktı

10

Soru ve cevaplar

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

1 lambda parçalarını eşle

Kavram Anlamı
{ x -> ... } Lambda sözdizimi
x Parametre
x * 2 Gövde
double(5) Çağrı

2 Bir <strong>lambda</strong> nasıl çağrılır?

  • Yalnızca invoke ile
  • Değişken adıyla, parantez içinde Doğru cevap
  • Yalnızca fun ile
  • return ile

Açıklama: lambda değişken adıyla, parantez içinde argümanla çağrılır.

3 lambda tanımını tamamla

Soru
val double: (Int) -> Int = { ____ -> x * 2 }
Cevap
val double: (Int) -> Int = { x -> x * 2 }

Açıklama: Parametre -> ile gövdeden ayrılır.

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