Kotlin
Birleştirme
Yardımcı fonksiyonları bir kütüphanede birleştirirsin.
Birleştirme
Bu son ders, tüm yardımcıları tek bir runAll metodu altında birleştirir. Helpers nesnesi, tüm extension'ları çağıran bir rapor metodu içerir.
Artık projede şunlar var: object Helpers içinde greet; String.titleCase, Int.squared ve LocalDate.isWeekend extension'ları. Bu derste Helpers içine fun runAll(): String metodu eklenecek. Bu metot tüm yardımcıları çağırıp sonucu tek bir dizgede birleştirir. main de yalnızca Helpers.runAll() çağırır.
runAll ve main
runAll metodu, tüm yardımcıları sırayla çağırır ve sonuçları | ile birleştirir. main yalnızca println(Helpers.runAll()) çağrısı yapar.
Örnek: fun runAll(): String { val g = greet("Ayşe"); val t = "merhaba dünya".titleCase(); val s = 5.squared(); val w = LocalDate.of(2024, 1, 6).isWeekend(); return "$g | $t | $s | $w" }. Bu, tek bir dizgede tüm yardımcıların çıktısını sunar. main böylece sade kalır; tüm iş kütüphanede toplanır. Bu yapı, gerçek kütüphane tasarımının özüdür.
Uygulama runAll metodunu ekle ve main'i sadeleştir
Mevcut kütüphaneyi koru. Helpers nesnesi içine fun runAll(): String metodu ekle. Gövdesi sırayla greet("Ayşe"), "merhaba dünya".titleCase(), 5.squared() ve LocalDate.of(2024, 1, 6).isWeekend() çağrılarını yapsın ve sonuçları | ile birleştirip döndürsün: "$g | $t | $s | $w". main yalnızca println(Helpers.runAll()) çağrısı yapsın.
Örnek çözümü göster
import java.time.LocalDate
object Helpers {
fun greet(name: String): String {
return "Merhaba, $name!"
}
fun runAll(): String {
val g = greet("Ayşe")
val t = "merhaba dünya".titleCase()
val s = 5.squared()
val w = LocalDate.of(2024, 1, 6).isWeekend()
return "$g | $t | $s | $w"
}
}
fun String.titleCase(): String {
return split(" ").joinToString(" ") { word ->
word.lowercase().replaceFirstChar { it.uppercase() }
}
}
fun Int.squared(): Int {
return this * this
}
fun LocalDate.isWeekend(): Boolean {
val day = dayOfWeek.value
return day == 6 || day == 7
}
fun main() {
println(Helpers.runAll())
}
Kendini test et
-
Birleştirme dersinde <code>runAll</code> metodu nereye eklenir?
- String extension olarak
- Int extension olarak
- LocalDate extension olarak
- Helpers nesnesi içine
Cevabı göster
Helpers nesnesi içine — runAll, Helpers nesnesinin bir metodu olarak eklenir.
-
Tüm yardımcıları eşle
- Helpers.greet
- Selamlama
- String.titleCase
- Başlık biçimi
- Int.squared
- Kare alma
- LocalDate.isWeekend
- Hafta sonu kontrolü
-
main gövdesini tamamla
fun main() {
println(Helpers.____())
}
Cevabı göster
fun main() {
println(Helpers.runAll())
}
Sıradaki ders: sealed class