names=step
visibility=public
kind=defined

--- step(limit, step = 1) {|n| ... }    -> self
--- step(limit, step = 1) -> Enumerator

self からはじめ step を足しながら limit を越える
前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には [[c:Float]] なども
指定できます。

@param limit ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、
       下限として解釈されます。

@param step 各ステップの大きさを数値で指定します。負の数を指定することもできます。

@raise ArgumentError step に 0 を指定した場合に発生します。


  2.step(5){|n| p n}
  2
  3
  4
  5
  
  1.1.step(1.5, 0.1) {|n| p n}
  1.1
  1.2
  1.3
  1.4
  1.5
  
  10.step(6, -1){|n| p n}
  10
  9
  8
  7
  6


注：浮動小数点数の 0.1 は 2進数では正確な表現ができない(2進数で
0.1は 0.00011001100....となる)ので、以下のようなループでは誤差が
生じて意図した回数ループしないことがある。step はこの誤差を考慮し
て実装されている。

    i = 1.1
    while i <= 1.5
      p i
      i += 0.1
    end
    => 1.1
       1.2
       1.3
       1.4   <- 1.5 が表示されない

@see [[m:Integer#downto]]


