Kotlin Scope Fonksiyonlar

Ferhat ÖZÇELİK
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.

  1. 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")
}
  1. 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")
  1. 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")
}
  1. 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)
  1. 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.

--

--