From: "akira yamada / やまだあきら" Date: 2003-02-04T16:00:10+09:00 Subject: [ruby-dev:19490] Re: equality between "a" and Exception.new("a") >>>>> In [ruby-dev : No.19478] >>>>> matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > ということは、URIに対しては > * to_strを定義しない(to_sにする) > * 上記の3行を削除 > というのが正しい更新かな。やまださん、異論があります? えと、ちょっと議論を追いきれないのですが、 問題になっているところは私があまり考えなしに書いちゃった部分だと思います。 なので、どのようにすべきかがはっきりしたらそれに従おうと考えています。 >>>>> In [ruby-dev : No.19486] >>>>> Tanaka Akira wrote: > > to_strは「引数として渡されたときに(なるたけ)T_STRINGのオブジェ > > クトと同じように振る舞うとき」に用意するメソッドで、to_sは > > 「(printなどで)文字列表現が必要なとき」に呼ばれるメソッドで > > す。to_sはすべてのオブジェクトが持っていますが、to_strはすべ > > てのオブジェクトが持っているとは限りません。 > では、URI が引数として渡された時にT_STRINGのオブジェクトと同じように振 > る舞ってほしいかどうか、が問題なわけですね。 > > たとえば、/\Ahttp:/ =~ uri などが動いて欲しいか、とか。 こういう使い方もあまりされなそうですし、 「引数として渡されたときに(なるたけ) T_STRINGのオブジェクトと同じように振る舞う」 必要はなさそうですから、to_strと==の3行は 削除してしまうのがよいということになりますかね。 -- やまだあきら / akira yamada Vine Caves, Ltd. (akira@arika.org, akira@debian.org or akira@vinecaves.com)