From: "中村暁史 Nakamura Akifumi" Date: 2000-03-14T01:24:58+09:00 Subject: [ruby-list:21394] Re: 引数コピーとオブジェクト指向 お世話になっております。 A.中村です。 On Mon, 13 Mar 2000 18:19:29 +0900 土岐 仁謙 wrote: #ほんと回転早いですね今日とかは。昼にwww経由で(笑)見た状況が #今の時点で既に時代遅れになっちゃってる。 >Matsuo> def html_quote(data) >Matsuo> data.gsub(/&/, "&").gsub(//, ">") >Matsuo> end >これが >def html_quote(data) > data = data.dup > data.gsub!(/&/, "&") > data = data.dup > data.gsub!(//, ">") > data >end >に見えてしまい、 dupと置換が一体化して「Cで書かれた(笑)」メソッドになってる わけですから、前者のほうが効率いいんじゃないか?なんて 考え(憶測レベル)も成り立つかもですね。 >無論、この差が実用上問題になることはまず無い、と頭では >分かっているんですが、同じ結果を出す異なる二つの方法があって、 >例え理論上だけの話でも片方が性能が良いとういことが見えてしまうと、 「同じ結果」だという前提が既にアレなのではないでしょうか。 コピーを取るかどうか?によって「違う結果」がある、と 考えるっていうか、そういう感じなのでは? #破壊系メソッドを全部非破壊系メソッドにすりかえた版の #Stringクラスを作っちゃうとか(笑) あ。まつもとさんの [ruby-list:21385] 、いいっすね。 「「問題になるかもしれない領域」で最適化」か。 >わたしは多分、「値」と「インスタンス」を明確に >意識しようとはしていないです。 >どちらかと言うと、値的な「数」なども単に破壊的なメソッドを持たない >オブジェクトだと見なしています。 ># Fixnumも実装は値だということは分かっているけど、 ># でも気分はやっぱりオブジェクト。 いや、それはそれでいいんだと思います。Fixnumの実装に 心を配る義理はないと思います。が、 >なのでオブジェクトの生成・消滅をどうしても意識してしまい、 >気になってしまうみたいです。 だからといってこう繋がるのは、ちょっと、効率の話と概念の話が 混線しているような印象を受けます。 「オブジェクトだと思う」ならば「生成消滅は当然やらないとね」と 話が続くほうが、まだイイような気が。 #どっかで聞いた話題?>fj