まつもと ゆきひろです

In message "[ruby-list:18303] Float#step が欲しい・・・"
    on 99/11/03, 伊藤 友裕 <j6398015 / ed.noda.sut.ac.jp> writes:

| Integer#step はあるのに Float#step が見当たらないのはなぜなんでしょう?

一応、公式の答えは「精度の問題があるので」ということになって
います。つまり

  (0.0).step(10.0, 0.1) {...}

がちゃんと10までで止まるかどうかが怪しいってこと。

が、欲しければ自分で作れるのがRubyの良いところですよね。

  class Float
    def step(to, step)
      f = self
      while f < to
        yield(f)
        f += step
      end
    end
  end

なんてのをどこかにいれると、アラ不思議、まるで最初からあった
かのように


|( -1.5 ).step( 1.53 , 0.10 ){ | f |
|  ・・・
|}

なんてことができます。いやあ、Rubyって素晴らしい。^^;;;

                                まつもと ゆきひろ /:|)