From: Yukihiro Matsumoto Date: 2005-12-02T03:37:51+09:00 Subject: [ruby-dev:27926] Re: Numeric とComplex まつもと ゆきひろです In message "Re: [ruby-dev:27915] Re: Numeric とComplex" on Thu, 1 Dec 2005 17:04:58 +0900, Shin-ichiro HARA writes: |>それは実装のことなんで気にしない、と。 | |そーゆーもーのーなーのーかー。 冗談です。 |やっぱり別のクラスですかね。 本当に必要なのか疑問な点も残るのですが、必要ならば別のクラス の方がすっきりするでしょうね。どのくらいの人が欲してるんだろ うか。それは組み込みクラスにしたいほどほしいのだろうか。ある いはわざわざrequireしてまでほしいものだろうか。 |こういうのは? | | * ../...は(互換性から)Range を生成。 | * Range#eachはsuccで反復する。 | * 新設するクラスの名前はRegion。Rangeとの継承関係なし。 | * Regionではinclude?, ===は不等号で決める。 | * Region#each,stepはRange#each,stepにほぼ準ずる。 | * Region(a, b, "<")左に開、Region(a, b, "<>")左右に開、 | などのオプションあり。 | * Region(a, nil)、Region(nil, b)など半無限領域もあり。 | * ComparableとNilClassにRegionを生成するメソッドupto(ブ | ロック無し)を新設。(case 〜 when "a".upto "b" 〜と書 | ける。) | |"a".upto("b"){}と"a".upto("b").each{}の違いが微妙。 |RangeとRegion、名前が似てて機能も似すぎ。かな? もし作るんなら、方向性には賛成です。ただ、Regionって名前はあ んまり良くないと思います(Interval?)。uptoって名前には反対し ます。あと、このクラスは範囲(領域・区間)だけを扱い、 Enumerableでない方が良いような気がします。Enumerableにしちゃ うと結局似たようなクラスがふたつあるだけになっちゃいそうだから。 まつもと ゆきひろ /:|)