From: pegacorn Date: 2007-02-27T20:29:19+09:00 Subject: [ruby-list:43230] Re: cloneというメソッドの機能について(質問) 07/02/26 に yahata hisashi さんは書きました: > ご教示有り難うございました。dm = Marshal.load(Marshal.dump(d))とすればうま > くいきました。 > オブジェクト指向スクリプト言語Ruby(まつもろゆきひろ/石塚圭樹著)には、記述 > がないようです。Rubyレシピ本(P.146)の存在をしりませんでした。 わからないことがあれば、まずはリファレンスマニュアルをご覧になるのが良いと思います。 http://www.ruby-lang.org/ja/man/?cmd=view;name=Object#clone 07/02/27 に Tetsuo Sakaguchi さんは書きました: > > その具体的な方法が、 Marshal.load(Marshal.dump(d))なのでしょうか。 > > うーん、私自身は load/dump の「流用」って感じがしてしっくりいかないので、 同感です。(^^; > Smalltalk-80 には deepCopy メソッドがあるんですが、あれにはあれで > 考えさせられる面もあるので、Ruby にはないのかなと思ってます。 理由は書かれていませんが、リファレンスマニュアルにも 「Marshal.load(Marshal.dump(obj)を使ってください」って 書かれてますね。 http://www.ruby-lang.org/ja/man/?cmd=view;name=Object#footnote-1 -- pegacorn