ごとけんです

In message "[ruby-list:18869] Re: initializer polymorphism?"
    on 99/11/24, Masaki Fukushima <fukusima / goto.info.waseda.ac.jp> writes:

>以前に Array#=== の意味が include? から変更された時、要素間の===
>ではなく、要素間の==が選ばれたのは何故なんでしょう?

何だったか探せませんでしたが、いちおう僕の見解を再度書いてお
くと、Array#=== は include? であった方が便利だと思います。

=== は主に case を簡潔に記述するためのモノで、case の機能は
場合分けであるが、おおむね case x の x が複数の集合のうちど
れに属するかを判定することが多いので、出来る限り所属性を意味
するメソッドを当てるべきだと思います。少なくとも、Class、
Range、Regexp という3つのモノについてはこのルールに乗っ取っ
ているように見えるので、Array もこうした方が良いと思います。

# regexp === string が所属性を判定しているという点に、以前、
# まつもとさんは納得してくれなかったけど、正規表現は文字列の
# 集合を規定していると僕はいまでも思うです ^^;;

-- gotoken