Lambda
- Kotlin kursu
- Orta seviye
- Ders 54/116
- 5 dk
{ 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
// double fonksiyon türünde lambda
// x -> x * 2 gövdesi
// main'de çağır ve yazdırÖrnek çözüm
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
val double: (Int) -> Int = { ____ -> x * 2 }
val double: (Int) -> Int = { x -> x * 2 }
Açıklama: Parametre -> ile gövdeden ayrılır.