apply ve also
Yapılandırın ve yan etkiler oluşturun
apply ve also, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.
Nesneleri Yapılandırma
apply ve also, lambda sonucu yerine nesnenin kendisini döndüren kapsam işlevleridir. Bu nedenle yapılandırma ve zincirleme için mükemmeldirler.
apply İşlevi
apply, nesnenin this olduğu bir blok çalıştırır ve nesneyi döndürür. Oluşturulduktan sonra bir nesneyi başlatmak için kullanılan klasik araçtır.
fun main() {
val builder = StringBuilder().apply {
append("Hello")
append(", ")
append("World")
}
println(builder.toString())
}apply Neden Nesneyi Döndürür
apply alıcıyı döndürdüğü için yapılandırılmış nesneyi doğrudan bir değişkene atayabilirsiniz.
data class Person(var name: String = "", var age: Int = 0)
fun main() {
val p = Person().apply {
name = "Alice"
age = 30
}
println(p)
}apply this Kullanır
apply içinde nesne alıcıdır; bu nedenle özelliklerine herhangi bir ön ek olmadan doğrudan erişirsiniz.
data class Config(var host: String = "", var port: Int = 0)
fun main() {
val config = Config().apply {
host = "localhost"
port = 8080
}
println("${config.host}:${config.port}")
}also İşlevi
also, nesnenin it olduğu bir blok çalıştırır ve nesneyi döndürür. Nesneyi değiştirmeyen günlükleme veya doğrulama gibi yan etkiler için kullanılır.
fun main() {
val numbers = mutableListOf(1, 2, 3)
numbers
.also { println("Before: $it") }
.add(4)
println("After: $numbers")
}also it Kullanır
also nesneyi it olarak sunduğu için dıştaki this'e başvurmak istediğinizde veya başvuruyu açıkça belirtmeyi tercih ettiğinizde kullanışlıdır.
fun main() {
val value = 42
.also { println("Logging value: $it") }
println(value)
}apply ve also
Fark, run ile let arasındaki farka benzer:
apply,this'i kullanır ve özellikleri yapılandırmak için en uygunudur.also,it'i kullanır ve nesne üzerinde yan etkiler oluşturmak için en uygunudur.
Her ikisi de özgün nesneyi döndürür.
data class Box(var size: Int = 0)
fun main() {
val box = Box()
.apply { size = 5 }
.also { println("Created box with size ${it.size}") }
println(box)
}apply ve also ile Zincirleme
Her ikisi de nesneyi döndürdüğü için önce yapılandırma, ardından akıcı bir işlem hattında yan etkiler gerçekleştirmek üzere bunları zincirleyebilirsiniz.
data class Account(var owner: String = "", var balance: Int = 0)
fun main() {
val account = Account()
.apply { owner = "Sam" }
.apply { balance = 100 }
.also { println("New account: $it") }
println(account.balance)
}Doğrulama için also
Akışı bozmadan zincirin ortasına bir denetim eklemek için also kullanın.
fun main() {
val result = listOf(1, 2, 3, 4)
.filter { it % 2 == 0 }
.also { check(it.isNotEmpty()) { "No even numbers" } }
println(result)
}Nesneyi Döndürmek İşlem Hatlarını Etkinleştirir
apply ve also'nun ortak özelliği, başladığınız nesnenin aynısını her zaman geri verdikleri için bir zinciri asla kesintiye uğratmamalarıdır.
fun main() {
val text = StringBuilder()
.apply { append("a") }
.also { it.append("b") }
.apply { append("c") }
println(text)
}apply veya also Seçimi
Bir nesneyi kendi üyelerini kullanarak başlatırken veya değiştirirken apply kullanın. Günlükleme, hata ayıklama veya doğrulama gibi nesneyi kullanan ancak onu yapılandırmayan bir işlem gerçekleştirirken also kullanın.
Hızlı Kontrol
apply ve also hangi değeri döndürür?
Özet
Nesne döndüren iki kapsam işlevini öğrendiniz:
apply, bir nesneyi yapılandırmak içinthis'i kullanır.also, bir nesne üzerindeki yan etkiler içinit'i kullanır.
Her ikisi de nesneyi döndürerek temiz zincirler oluşturmanızı sağlar. Sonraki bölümde işlemleri with ile gruplayacaksınız.
Sıkça Sorulan Sorular
“apply ve also” dersi ücretsiz mi?
Evet — “apply ve also” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.
“apply ve also” dersinde ne öğreneceğim?
Yapılandırın ve yan etkiler oluşturun Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“apply ve also” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- let ve run
- apply ve also
- with
- Doğru Olanı Seçme