13. 2 0 1 6 / 1 0 / 8scala.collection 再入門(改) 13
Trait
Class
Array
Seq
List
Range
e.g. 1 to 10
http://docs.scala-lang.org/resources/images/collections.immutable.png
21. 2 0 1 6 / 1 0 / 8scala.collection 再入門(改) 21
範囲を表現しているだけ
head・tail・ランダムアクセス が o(1)
値を追加するようなことはできない
to, until, by, 負値(逆順)
使い道: 範囲の決められた値のコレクションを扱う時
e.g. ループ用のインデックス
immutable.Range
scala> val x = scala.collection.immutable.Range(1, 5, 2)
x: scala.collection.immutable.Range = Range 1 until 5 by 2
scala> val x = 1 until 5 by 2
x: scala.collection.immutable.Range = Range 1 until 5 by 2
※注意: ver 2.8より前はチェーン先が遅延評価, 以降は正格評価
1 until 5
1, 2, 3, 4
5 to 1 by -2
5, 3, 1