はじめに
公式の問題集「Kotlin Koans」を解きながらKotlinを学習します。
過去記事はこちら
- Introduction
- Classes
- Conventions
問題
rangesを使用して、日付が最初の日付と最後の日付の間(を含む)の範囲にあるかどうかをチェックする関数を実装します。
任意の比較可能な要素から範囲を構築することができます。Kotlinでは、checksは対応するcontains呼び出しと...rangeTo呼び出しに変換されます。
val list = listOf("a", "b")
"a" in list // list.contains("a")
"a" !in list // !list.contains("a")
date1..date2 // date1.rangeTo(date2)
修正前のコード
fun checkInRange(date: MyDate, first: MyDate, last: MyDate): Boolean {
return TODO()
}
問題のポイント
range式は,in と !in で補われる演算子形式 ... を持つ rangeTo 関数で表現されます。
if (i in 1..10) { // 1 <= i && i <= 10 に相当
println(i)
}
解答例
fun checkInRange(date: MyDate, first: MyDate, last: MyDate): Boolean {
return date in first..last
}