Progression and Range
    kotlin
    Progression
Progression 은 시작점과 끝점이 있으면 구간을 지정할 수 있다. Range 와 다르게 증가 값이 1 이상이 될 수 있다.
open class CharProgression(
    val startInclusive: Char,
    val endInclusive: Char,
    val step: Int 
): Iterable<Char>
Progression 은 아래와 같이 세 가지 방식으로 생성할 수 있다.
| function type | function | 
|---|---|
| infix | downTo | 
| infix | step | 
| extension | reversed | 
1..10 step 2 // 1, 3, 5 ...
10 downTo 1 step 2 // 10, 8, 6 ...
(1..10).reversed() // 10 downTo 1 step 1
Range
Progression 을 상속 하고 있으며, 증가값이 1로 고정 되어 있다.
class CharRange(
    startInclusive: Char,
    endInclusive: Char 
): CharProgression(startInclusive, endInclusive, 1), ClosedRange<Char>
Links
- Ranges and progressions
 - loops ranges progressions kotlin
 - Kotlin 의 Progression 과 Range 제대로 이해하고 사용하기
 - CharProgression
 
References
- Kotlin In Action / Dmitry Jemerov, Svetlana Isakova 공저 / 에이콘