From: Nakamura Akifumi Date: 2002-05-29T02:19:26+09:00 Subject: [ruby-list:35300] Re: ((1.2)..(3.4)).to_a お世話になっております。 A.中村です。 On Tue, 28 May 2002 19:15:48 +0900 matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > 「刻み幅を変える」っていうのは一見便利そうなんですが、実は使 > えないと思います。Timeのようなのは状態が増えれば増えるほど使 > いにくいですから。現状のデフォルトの表示タイムゾーンという状 > 態でも使いにくい場合がままあるのに、これ以上増えたら。 「刻み幅を表現するオブジェクト」ってので Timeオブジェクトをwrapするってのは駄目なんでしょうか? hoge1=RangeWrapperForFloat.new(1.2, 2.0) hoge2=RangeWrapperForFloat.new(3.4, 2.0) fuga=(hoge1)..(hoge2) あ。開始と終了の両方にwrapperをつける必要は無いなあ。 片方だけで十分かな。 hoge=RangeAdaptorForFloat.new(1.2, 2.0) fuga=(hoge)..(3.4) あるいはwrapperをRangeオブジェクト自体に「のせる」と良いかな。 fuga=Range.new(1.2, 3.4, RangeAdaptorForFloat.new(2.0)) ついでに、整数とかのまっとう?なクラスのオブジェクトも wrapperをかませば好きなステップで使えちゃう、とか? fuga=Range.new(1, 30, RangeAdaptorForInt.new(4))