Skip to content

Commit 89e8745

Browse files
committed
solved For Loop problem
1 parent ad30fe4 commit 89e8745

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

Conventions/For loop/src/Task.kt

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,23 @@
1-
class DateRange(val start: MyDate, val end: MyDate)
1+
class DateRange(val start: MyDate, val end: MyDate): Iterable<MyDate> {
2+
override fun iterator(): Iterator<MyDate> {
3+
return MyDateIterator(this)
4+
}
5+
}
6+
7+
class MyDateIterator(private val dateRange: DateRange): Iterator<MyDate> {
8+
9+
var current: MyDate = dateRange.start
10+
11+
override fun hasNext(): Boolean {
12+
return current <= dateRange.end
13+
}
14+
15+
override fun next(): MyDate {
16+
val data = current
17+
current = current.nextDay()
18+
return data
19+
}
20+
}
221

322
fun iterateOverDateRange(firstDate: MyDate, secondDate: MyDate, handler: (MyDate) -> Unit) {
423
for (date in firstDate..secondDate) {

0 commit comments

Comments
 (0)