Kotlin
fun <T, R> T.let(f: (T) -> R): R = f(this)
let()
temel olarak, belirli bir kapsam için bir değişken/kod bloğu oluşturmamızı sağlayan bir kapsamlayıcı işlevdir. Yani let()
bir sarmalıyıcı fonksiyondur.
Örneğin:
private var mPhotoUrl: String? = null
fun uploadClicked() {
if (mPhotoUrl != null) {
uploadPhoto(mPhotoUrl!!)
}
}
Yukarıda ki if (mPhotoUrl != null)
satırı ile null kontrolü yapılır ve eğer null
değilse uploadPhoto(mPhotoUrl!!)
kod bloğu çalıştırılır. Bu kodu let()
ile çok daha kolay ve anlaşılır hale getirebiliriz.
private var mPhotoUrl: String? = null
fun uploadClicked() {
mPhotoUrl?.let { uploadPhoto(it) }
}
Not: let()
ile sarmalanan bir kod bloğu içerisinde sarmalayıcıya it
ile ulaşılabilir.
File("a.txt").let {
// it kullanılarak file nesnesine erişilebilir.
}