西山@千葉大と申します。

   "[ruby-dev:19845] Re: [BUG] (0...3).max/ruby-1.8.0 preview2" において、
   "Shin-ichiro HARA <sinara / blade.nagaokaut.ac.jp>"さんは書きました:

>原です。
>
>>まつもと ゆきひろです
>>
>>In message "[ruby-dev:19839] Re: [BUG] (0...3).max/ruby-1.8.0 preview2"
>>    on 03/03/18, Shin-ichiro HARA <sinara / blade.nagaokaut.ac.jp> writes:
>>
>>|>これは仕様変更です。maxは「両端点のうち大きい方を返す」とい
>>|>う仕様になってます。でもどうしてこうしたのか覚えてないな。
>>|
>>|(0...3).max と (0...3).to_a.max は、同じであることを期待するの
>>|で、元に戻した方がいいんじゃないかなあ。
>>
>>Rangeを「範囲」としても使えるようにしようという変更の一環だ
>>と思うのですが、確かにmaxが両端のうち大きい方を返しても役に
>>は立ちませんよね。
>
>範囲としても使えるようにってのは、どういう意味でしょう。
>どこかに議論がありましたっけ。
>

前の議論を見たときにも気になっていたので、発言させてください。
つまるところ、0...3 を連続的とみるか離散的とみるかで解釈が違ってしまうのが
悩ましいところだと思うのですが、、、

たとえばもし、(0...3).max == 2 だと、

r = 0...3
a = 2.5
r.include? a             #=> true
r.min < a and a < r.max  #=> false

となって直感に反する気がします。