並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 9 件 / 9件

新着順 人気順

DeepCopyの検索結果1 - 9 件 / 9件

  • ActionScript3 における deep copy - 2nd life (移転しました)

    http://la.ma.la/blog/diary_200711270645.htm JavaScript の話題が出たので AS3 での方法も。ActionScript3 でコアクラスオブジェクトを deep copy するには、 public static function clone(arg:*):* { var b:ByteArray = new ByteArray(); b.writeObject(arg); b.position = 0; return b.readObject(); } var hash:Object = { ary: [0,1,2,3] }; var hashClone:Object = ObjectUtil.clone(hash); hash.ary[3] = 'a'; hash; // #<Object:{ary:0, 1, 2, a}> hashCl

      ActionScript3 における deep copy - 2nd life (移転しました)
    • どんなオブジェクトでもコピーできる汎用のディープコピー処理(ICloneable, MemberWiseClone, Serializable, BinaryFormatter, MemoryStream) - tekkの日記 C#,VB.NET

      シリアライズを利用した汎用のオブジェクトのディープコピー処理について整理しました。BinaryFormatterを使用してMemoryStreamに対してシリアライズ/デシリアライズを行いオブジェクトのメモリイメージのコピーを作成するテクニックです。理論上、Serializable属性を付与したすべてのオブジェクトに対してディープコピーが可能になります。 ICloneableインタフェース、MemberWiseCloneメソッドを使用したシャローコピーについては以下の記事を参考にしてください。 ■オブジェクトのコピー。ICloneableインタフェース、MemberWiseClone、シリアライズを利用したインスタンスのコピー。 http://d.hatena.ne.jp/tekk/20091012/1255362429 C# ジェネリック版と拡張メソッド版の2種を用意してみました。 us

        どんなオブジェクトでもコピーできる汎用のディープコピー処理(ICloneable, MemberWiseClone, Serializable, BinaryFormatter, MemoryStream) - tekkの日記 C#,VB.NET
      • javascript - お伺い - Object.prototype.clone() : 404 Blog Not Found

        2007年11月26日23:45 カテゴリLightweight Languages javascript - お伺い - Object.prototype.clone() JavaScriptでオブジェクトのディープコピーをどうやってやるのか、これといったものがないようなので作ってCodeReposにおいておきました。 /lang/javascript/clone/trunk/clone.js - CodeRepos::Share - Trac なぜこういうのが必要かというと、 var a = [0,1,2,3]; alert(a); // 0,1,2,3 var a2 = a; a2[4] = 4; // a2を変えると... alert(a2); // 0,1,2,3,4 -- aも変わってしまう! からです。参照でオブジェクトを実装しているものにはJavaScriptでなくてもこう

          javascript - お伺い - Object.prototype.clone() : 404 Blog Not Found
        • Pythonの値渡しと参照渡し - amacbee's blog

          これはPython Advent Calendar 2016 7日目の記事です. アドベントカレンダーの日程を勘違いしてしまっていたので,社内向けに作ったPython資料を使いまわすことでお茶を濁します。。。 Pythonの値渡しと参照渡しについてまとめてみます. Pythonでは,変数や関数に値を渡す場合すべて参照渡しで渡されています.例えば挙動だけ見れば値渡しに見えるint型でも,値が変更されるまでは元の値と同一のオブジェクトを参照しています. 例を見てみましょう. >>> def foo(a): ... print(a, id(a)) ... a += 1 ... print(a, id(a)) ... >>> b = 0 >>> print(b, id(b)) 0 4297514880 # 'b' 用の領域が確保されている >>> foo(b) 0 4297514880 # ここま

            Pythonの値渡しと参照渡し - amacbee's blog
          • Pythonのcopyとdeepcopyについて - Qiita

            Pythonをはじめてちょっとハマった部分。 似た記事がQiitaにも山ほどあるのですが・・・微妙にこの辺が書いてない感じがしたので。 Pythonはつい最近使いはじめたばかりのビギナーなので、どこかの点や、最後のまとめなどには、間違っている部分があるかもしれません。間違いがあったら、ぜひ指摘して教 えていただけると嬉しいです。 1/13 さっそくコメントで指摘をいただき、記事を大幅に修正しました。shiracamusさん、ありがとうございます。 前説 変数とオブジェクト、ミュータブルとイミュータブルについて 変数とオブジェクト Pythonにおいて、変数とは、オブジェクトを指し示す識別子(名前)です。オブジェクトとは我々が扱いたいデータそのものです。 上記において、変数名はaで、オブジェクトは"abc"という文字列です。"a"という変数名はあくまで"abc"というデータをプログラム内で便

              Pythonのcopyとdeepcopyについて - Qiita
            • 継承を考慮したICloneableの実装(C#) - reflux flow

              ここでは、継承した場合でもコピーを作成できるICloneableの実装方法(ディープコピー)をいくつか紹介します。 メモ: 一般に、ディープコピーの実装や保守には手間が掛かります。ここで紹介する実装方法でも、シリアライザを利用する方法以外では、派生クラスで必ずCloneメソッドをオーバーライドしなければなりません。また、クラスのフィールドが増減する度にCloneメソッドを修正する必要があります。可能であればオブジェクトをimmutable(不変)に設計し、ディープコピーの実装を回避した方が良いでしょう。 メモ: ICloneableの仕様では、Cloneメソッドによるコピー処理は、シャローコピー(簡易コピー)とディープコピー(詳細コピー)のどちらでも良いことになっています。その結果、ICloneableを実装していても実装詳細を知らなければCloneメソッドの挙動を予測できません。そのため

              • ActionScriptでディープコピー - octech

                ActionScript3 における deep copy - 2nd life 上記のActionScriptでのオブジェクトのディープコピーについてのエントリを読みました。 もともとディープコピーを使う機会が無かったので、気づかずに通り過ぎていましたが、ActionScriptのコピー演算子ってシャローコピーなのですね。 Object copying - Wikipedia そこで、上記エントリではAS3でディープコピーを行う手段を載せておられますが、そのコードはほぼ同じものがFlashCS3のヘルプ「配列のコピー」というページにも載っていました。 配列のコピー 検証 以下のスクリプトで、ヘルプに載っていたコードの検証を行ってみました。 /* TestCopy.as */ package { import flash.display.Sprite; import flash.utils.

                  ActionScriptでディープコピー - octech
                • 【JavaScript】オブジェクトをDeepCopyするclone関数を書いた | Web活

                  JavaScriptのオブジェクトは参照渡しなので複製したい時は自分で同じオブジェクトを作らないといけない。そこでオブジェクトをディープコピーするclone関数を作ってみた。コードは以下。GitHubにもある。 See the Pen PqRWmw by shigure (@webkatu) on CodePen. 使い方と引数の説明 var cloneObject = clone(object, homogeneity, excludedPrototypes, excludedObjects); 第一引数「object」 第一引数はコピーしたいオブジェクトを指定する。ただ単にディープコピーしたいのであれば第一引数だけ使えばいい。 var a = {a: function() {}, b: [], c: {}}; var b = clone(a); //参照渡しではなく全てコピーされている

                  • Deep Copy vs JSON Stringify / JSON Parse · jsPerf

                    JavaScript performance comparison Revision 5 of this test case created by on 2013-11-13 Preparation code <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script> Benchmark.prototype.setup = function() { function recursiveDeepCopy(o) { var newO, i; if (typeof o !== 'object') { return o; } if (!o) { return o; } if ('[object Array]' === Object.prototype.toString.a

                    1