Kotlin Scope Fonksiyonlar
2 min readFeb 23, 2023
Kotlin’da “scope functions” olarak adlandırılan beş adet fonksiyon bulunur: let, run, with, apply ve also. Bu fonksiyonlar, nesnelerin işlevlerini sınırlı bir zaman dilimi içerisinde yerine getirmek için kullanılırlar.
- let: Bir değişkenin işlevini, başka bir işlemi göndermeden yapmak için kullanılır. Bu işlev, bir blok içinde geçici bir değişken oluşturarak çalışır.
Örnek:
val name: String? = "John"
name?.let {
println("My name is $it")
}
- run: Bir değişkenin işlevlerini çalıştırmak ve işlem sonunda döndürmek için kullanılır. Bu işlev, örnek bir nesne üzerinde işlem yapmak için kullanışlıdır.
Örnek:
val person = Person("John", 30)
val ageNextYear = person.run {
age + 1
}
println("Age next year will be $ageNextYear")
- with: Bir nesne üzerinde işlem yapmak için kullanılır. Bu işlev, bir nesnenin özelliklerini kullanarak işlem yapmak için kullanışlıdır.
Örnek:
val person = Person("John", 30)
with(person) {
println("My name is $name and I'm $age years old")
}
- apply: Bir nesnenin özelliklerini ayarlamak için kullanılır. Bu işlev, bir nesne oluşturulduktan hemen sonra ayarlarını yapmak için kullanışlıdır.
Örnek:
val person = Person("John", 30).apply {
city = "New York"
profession = "Developer"
}
println(person)
- also: Bir nesne üzerinde işlem yapmak ve işlem sonunda nesneyi geri döndürmek için kullanılır. Bu işlev, bir nesnenin özelliklerini kontrol etmek için kullanışlıdır.
Örnek:
val person = Person("John", 30)
val newAge = person.also {
println("My name is ${it.name} and I'm ${it.age} years old")
}.age + 1
println("Age next year will be $newAge")
Originally published at Ferhat ÖZÇELİK.