From: matz@... (Yukihiro Matsumoto) Date: 2000-08-25T13:01:24+09:00 Subject: [ruby-list:24480] Re: Coerce between Range and Boolean まつもと ゆきひろです In message "[ruby-list:24475] Re: Coerce between Range and Boolean" on 00/08/25, GOTO Kentaro writes: |>なんとなく現状のままかなあと思ってます。 | |Ruby の case が C の switch が便利になったモノだとすれば、ク |ラスが違う場合に対処できてもいいんやも、とも思ったりします。 |Range と Regexp の === で rescue TypeError; return fail する |ようにして、マズいことが思い付かないというのもその理由です。 RangeとRegexpだけでよいのかしら? あるいはユーザ定義の === のためにも === は例外を返すべきでないと定義すべき? |>やっぱ「範囲」なんじゃないかなって思います。eachとかは使い勝 |>手のためその範囲内の列を作っている(とみなす)ってことでどうで |>しょう。 | |ええ、ぼくもそういうことでなんとなく納得することにしてます。 |ただ、(1..10 === 0.1) && !(1..10).include?(0.1) が成り立つの |はなんか気持ち悪いんですよ。じゃぁ include? を range_eqq で |定義すればいいかというと、それもなんか意外な気がするし。 確かに include? は列として扱ってますよね。どっちが良いのかな あ。Range#include? ってくらいだから、範囲判定のような気はし ますね。一方、Range#member?は列でも妥協できそうな。 # モメるか。いずれにせよ、変更は1.7以降ですが。 まつもと ゆきひろ /:|)