Kotlin
Tarih yardımcıları
LocalDate işleme fonksiyonlarını eklersin.
LocalDate extension
Bu ders LocalDate türüne isWeekend extension'ını ekler. Bu fonksiyon, tarihin hafta sonu olup olmadığını döndürür.
Örnek: fun LocalDate.isWeekend(): Boolean { val day = dayOfWeek.value; return day == 6 || day == 7 }. LocalDate kullanmak için import java.time.LocalDate gerekir. dayOfWeek.value pazartesi 1, pazar 7 döndürür. Cumartesi 6 ve pazar 7 hafta sonudur. LocalDate.of(2024, 1, 6).isWeekend() true verir.
dayOfWeek ve hafta sonu
LocalDate'in dayOfWeek özelliği haftanın gününü verir. .value ile sayısal karşılığını alırsın: Pazartesi 1, Pazar 7.
Örnek: LocalDate.of(2024, 1, 6).dayOfWeek.value ifadesi 6 döndürür çünkü 6 Ocak 2024 Cumartesi'dir. Hafta sonu kontrolü için day == 6 || day == 7 kullanılır. Bu kalıp, hafta sonu mantığını tek bir extension fonksiyonda toplar; her çağrıda tekrar yazılmaz.
Uygulama LocalDate.isWeekend extension'ı ekle
Mevcut Helpers nesnesi, String.titleCase ve Int.squared extension'larının yanına LocalDate.isWeekend() extension'ını ekle. Önce import java.time.LocalDate satırını dosyanın başına koy. Extension gövdesi val day = dayOfWeek.value; return day == 6 || day == 7 yapsın. main içinde Helpers.greet("Ayşe"), "merhaba dünya".titleCase(), 5.squared() ve LocalDate.of(2024, 1, 6).isWeekend() çağrılarını println ile yazdır.
Örnek çözümü göster
import java.time.LocalDate
object Helpers {
fun greet(name: String): String {
return "Merhaba, $name!"
}
}
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.greet("Ayşe"))
println("merhaba dünya".titleCase())
println(5.squared())
println(LocalDate.of(2024, 1, 6).isWeekend())
}
Kendini test et
-
LocalDate extension tanımını tamamla
fun ____.isWeekend(): Boolean {
val day = dayOfWeek.value
return day == 6 || day == 7
}
Cevabı göster
fun LocalDate.isWeekend(): Boolean {
val day = dayOfWeek.value
return day == 6 || day == 7
}
-
LocalDate extension parçalarını eşle
- import java.time.LocalDate
- İçe aktarım
- fun LocalDate.isWeekend()
- Alıcı ve metot
- dayOfWeek.value
- Gün sayısı
- day == 6 || day == 7
- Hafta sonu koşulu
-
<code>fun LocalDate.isWeekend(): Boolean</code> extension'ı ne döndürür?
- Bir String
- Bir Int
- Bir Boolean
- Bir LocalDate
Cevabı göster
Bir Boolean — isWeekend Boolean döndürür; hafta sonu mı değil mi.
Sıradaki ders: Birleştirme