ごとけんです

In message "[ruby-list:10608] Re: case with Class"
    on 98/11/04, Yukihiro Matsumoto <matz / netlab.co.jp> writes:

>まず第1に Class#=== を == にする予定もつもりもありません.

御意。

>第2に「=== は包含かどうか」ですが,たとえば正規表現のマッチ
>は50歩くらい譲っても「包含」ではないと思いますし,

そうですか?? もともと正規表現は正則集合の表し方ですから
someRegexp === someString は所属性判定を兼ねていると思
います(包含は集合同士の関係なので語用がちょっとマズい)。
もちろんマッチした位置を返すのでもっと強い意味を持って
ますし、拡張された正規表現が正則集合になっているかどう
かはニワカには分かりませんが。

もっとも、
>                                                  もともと包
>含という意味はなかったと思っています.が,「同値」でもありま
>せんね.強いて言えば「caseに便利な『一致』判定」でしょうか.
>で,この観点から Array#=== が include? なのはあまり便利でな
>いように思いました.

は確かに議論の余地があるのは認めます。
僕の考えは次の通りです。

case の when に来るのは何かの分割のひとつになっている
ことが多いと思ってよい。そこで、互いに素な要素からなる
複数の配列を用いて場合わけするのは読み書きに便利と思う。

また Array#=== が .include? 以外となるとふさわしい動作
を思い付きません。 == で使う人がそれほどいるとは僕は思
わないし。

-- gotoken