type=class
superclass=Object
included=Enumerable
extended=
library=_builtin
aliases=
aliasof=

範囲オブジェクトのクラス。範囲オブジェクトは範囲演算子 .. または
... によって生成されます。.. 演算子によって生成された範囲
オブジェクトは終端を含み、... 演算子によって生成された範囲オブジェ
クトは終端を含みません。

=== 例

  for i in 1..5
     # 処理
  end

これは 1 から 5 までの範囲オブジェクトを生成して、それぞれの値に対して
繰り返すと言う意味です。

範囲演算子のオペランドは互いに <=> で比較できる必要があります。
さらに [[m:Range#each]] を実行するためには succ メソッ
ドを実行できるものでなければいけません。

=== 破壊的な変更

Ruby の Range クラスは immutable です。
つまり、オブジェクト自体を破壊的に変更することはできません。
ですので、一度生成された Range のオブジェクトの指し示す範囲は
決して変更することはできません。

  range = 1..10
  range.first     #=> 1
  range.first = 1 #=> NoMethodError
