From: Shin Nishiyama Date: 2003-03-20T18:14:48+09:00 Subject: [ruby-dev:19862] Re: [BUG] (0...3).max/ruby-1.8.0 preview2 西山@千葉大と申します。 "[ruby-dev:19845] Re: [BUG] (0...3).max/ruby-1.8.0 preview2" において、 "Shin-ichiro HARA "さんは書きました: >原です。 > >>まつもと ゆきひろです >> >>In message "[ruby-dev:19839] Re: [BUG] (0...3).max/ruby-1.8.0 preview2" >> on 03/03/18, Shin-ichiro HARA 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 となって直感に反する気がします。