From: gotoken@... (GOTO Kentaro) Date: 1998-10-31T02:31:32+09:00 Subject: [ruby-list:10523] Re: case with Class ごとけんです In message "[ruby-list:10521] Re: case with Class" on 98/10/30, aamine@dp.u-netsurf.ne.jp writes: >こんにちは。あおきです。 こんばんわ >ただ、まだなんとなく釈然としません。 >このような仕様であるのは納得したし、実用上はこれで問題ないのですが、 >なぜStringクラスオブジェクトは自分自身にマッチしないのでしょうか。 >別の言い方をすれば、なぜ > > String === String ----> false > >なのか、ということですが。 えっと、 === は case と Enumerable#grep で使われることように なっていますから、なにか「中身」を持つものがレシーバのときは 所属性に関するメソッドになっていると理解しました。例えば、 (1..10) === 7 ==>true /abc/ === "*abcd" ==>1 [1,2,3] === 2 ==>true となります。逆に「中身」を持たないものはデフォルトでは == と 同じになっているようです。Class が中身を持つかどうかは気分的 ですが、正規表現が「中身」を持つと考えるならクラスもそうだと 思えます。 -- gotoken