前 - 上 - 次 - 目次

# Range

  範囲オブジェクトのクラス．範囲オブジェクトは範囲演算子 (`..`または`...`)によって生 成されます． `..`演算子によって生成された範囲オブジェクトは 終点を含み，`...`演算子によって生成された 範囲オブジェクトは終点を含みません．

  例:

  >     for i in 1..5
  >       ...
  >     end

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

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

  範囲は両端を含みます．

## スーパークラス:

  `Object`

## インクルードしているモジュール:

  `Enumerable`

## クラスメソッド:

  `new(first,last[, exclude_end])`

    firstからlastまでの範囲オブジェクトを 生成します．exclude_endは終端を含むかどうかを指定します． 省略時には終端を含みます．

## メソッド:

  `self === other`

    このメソッドは主に`case` 文での比較に用いられます。 otherが範囲内に含まれている時に真を返します．

  `each {|item| ...}`

    範囲内の要素に対して繰り返します．

  `exclude_end?`

    範囲オブジェクトが終端を含まないとき真を返します．

  `first`
  `begin`

    最初の要素を返します．

  `length`
  `size`

    範囲の長さ(last - first + 1)を返します．

  `last`
  `end`

    最後の要素を返します．

前 - 上 - 次 - 目次

matz@netlab.co.jp