あづみです。 Yukihiro Matsumoto wrote: > |刻み幅を指定できるくらいはできてもいいように思います。 > |それを Range (or another) が担うのか #succ が担うのかはともかく。 > > それはRange#stepでは? to_a するときに、という話かと思ってましたが、どうなんでしょう。 先ほど、http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/6077 から始まるスレッドをざーっと読んでみたのですが、なかなか面白かった です。今では若干挙動が違う部分があったりして、その辺は注意しないと いけないですが。 それで、上記のスレッドの中に、 [ruby-dev:6184] > Range#sizeとRange#to_a.sizeが違うのは避けたいです. というのがあって、これにはナルホドと思いました。というわけで、今は to_a(n) にするよりは、 [ruby-dev:6204] > そして、さらに step を含む拡張された Range として Range3 とか > r = Range3.new(a, b, "OO", step) が良いなぁと思ってます。ただ、これをそのまま Range に持って くるとますます Range#=== が浮いてしまう(というか矛盾する)のでやっ ぱ別クラスかなぁ。Range#set_step(n) すると、Range3::new(...,n) が 返ってくるとか。 安積伸弥 adzumi / denpa.org