KotlinのRangeについて学びます。
RangeはJavaにはありませんが、名前の通り範囲を示すことができます。
例を見ましょう
| 
					 1 2 3 4 5 6 7 8  | 
						fun main(args: Array<String>) {     // 1から10までの範囲を指定     var range : IntRange = 1..10     // 1..10     print(range)     // inで5がRange内にあるかどうかを判定する     print(5 in range) }  | 
					
他のにも、LongRange、CharRangeがあります。
LongRangeはわかりますが、CharRangeとは一体なんのか?
例を見ましょう。
| 
					 1 2 3 4 5 6 7 8  | 
						fun main(args: Array<String>) {     // aからzまでの範囲を指定     var range : CharRange ='a'..'z'     // a..z     print(range)     // true     print('c' in range) }  | 
					
おそらく、asciiコードの順番なのでしょうが、使いがってがよくわかりません。。。
RangeをListオブジェクトに変換する
Rangeで定義したObjectをList型に変換することができます。
例を見ましょう
| 
					 1 2 3 4 5 6 7 8  | 
						fun main(args: Array<String>) {     // 1から10までの範囲を指定     var range : IntRange = 0..10     var list : List<Int> = range.toList()     for(x in list){         print(x)     } }  | 
					
Rangeで作成したObjectをtoList()関数によってList型に変換しています。
また、数値の間隔をあけるには、stepを利用します。
step
Rangeでの使用例を見ていきましょう。
| 
					 1 2 3 4 5 6 7 8  | 
						fun main(args: Array<String>) {     // 1から10までの範囲を指定     var range : IntRange = 0..10     var list : List<Int> = range.step(2).toList()     for(x in list){         print(x)     } }  | 
					
stepに2を指定しているので、
0,2,4,6,8,10
と表示されます。
downTo
降順にデータを並べる場合は、DownToを使用します。
| 
					 1 2 3 4 5 6 7  | 
						fun main(args: Array<String>) {     // 降順に並べる場合     var list : List<Int> = (10 downTo 0).toList()     for(x in list){         print(x)     } }  |