From: Tanaka Akira Date: 2003-02-04T12:40:14+09:00 Subject: [ruby-dev:19475] Re: equality between "a" and Exception.new("a") In article <1044329220.257740.28127.nullmailer@picachu.netlab.jp>, matz@ruby-lang.org (Yukihiro Matsumoto) writes: > to_aryのこともあるので再検討しました。Exception#to_strがない > と動かないプログラムもあるし。 to_ary との関係はよくわかりませんが互換性を考慮するというのは理解可能 です。動かない例が思い浮かばないのであまり実感がわきませんが。 > 結局、 == には交換則が期待されるので、右辺の自動変換をまった > く行わないか、逆にto_strなどを定義したクラスでは、==は変換先 > のクラスも受け付けるというルールにするかいずれかであろうとい > う結論になりましたが、いくらなんでもto_strを定義することにそ > こまで要求するのはなんだろう、ということで、前者にしようと思 > います。 これはまったくもってそうなのですが、String が前者に変化したにもかかわ らず、URI は後者を仮定しているままなため、一貫性が崩れている、という話 です。 (OptionParser と DLPtrData も to_str を持っているようではある...) > |あと、添付ライブラリにも to_str を持ってる連中がいるようなので、対処し > |たほうがいいかも知れませんね。(私に馴染み深いところでは) URI とか。 > > これならほかのto_strやto_aryを持つクラスでも問題は起きないで > しょう。完全に満足しているわけではないのですが。 問題を起きなくすることは可能ですが、今、問題が起き始めたので直したほう がいいんではなかろうか、という話のつもりです。 -- [田中 哲][たなか あきら][Tanaka Akira]