From: Yukihiro Matsumoto Date: 2005-12-01T15:09:49+09:00 Subject: [ruby-dev:27914] Re: Numeric とComplex まつもと ゆきひろです In message "Re: [ruby-dev:27912] Re: Numeric とComplex" on Thu, 1 Dec 2005 14:33:43 +0900, Shin-ichiro HARA writes: |でも、やっぱり | | case ch | when "a" .. "z" | |と書くと、比較的高速にchでの分岐を与えてくれているというイメー |ジがあるので、そこでsuccが何度も呼ばれているというのは、気持 |ち悪い気がします。 それは実装のことなんで気にしない、と。 |ところで、何が問題か忘れてしまったのだけど(^^; |現状のどこがまずいんでしたっけ。 Rangeは元々離散的な範囲を表現しているつもりなのですが、数に ついては(包含関係については)線形な範囲として扱った方がわかり やすいと考えて、それを徹底しようと考えています(要するに数に ついては今まで通り)。 問題は数でないオブジェクトの範囲です。特に文字列については succで得られる要素で表現される集合と、両端の要素の辞書的比較 で表現される集合が異なるため、どちらを選んでも他方に不満が出 るでしょう。で、これを解決する方法はわからない、と。いや、完 全な解決は無理なんですが、せめて使い分けられる方法があれば、 と。 |ところで、現状では | | ("a0".."b").each do |x| | p x | end | |が"a0"のみ出力するのはどういう仕組みでしたっけ? 内部で使っているString#uptoがそういう動作をするからですね。 でも、ちょっと変な気がしますね。 まつもと ゆきひろ /:|)