問題タブ [clone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPでオブジェクトのコピーを作成するにはどうすればよいですか?
PHPでは、オブジェクトは参照によって渡されるようです。代入演算子でさえ、オブジェクトのコピーを作成しているようには見えません。
簡単で工夫された証拠は次のとおりです。
どちらの印刷の場合でも、「後」になります
では、参照ではなく値で$ aをset_b()に渡すにはどうすればよいですか?
java - Java での多次元配列のディープ クローニング...?
サイズが推定される 2 つの多次元配列 (実際には 2D のみ) があります。それらをディープクローンするにはどうすればよいですか? これが私がこれまでに得たものです:
等しいかどうかのテストoriginal.equals(clone);
は false を吐き出します。なんで?:|
silverlight-2.0 - Silverlight でビジネス オブジェクトを複製する最良の方法は何ですか?
DTO のクローンを作成する最良の方法は何ですか? Silverlight には、ICloneable インターフェイスや BinaryFormatter クラスはありません。反射だけが唯一の方法ですか?
vba - VBA でオブジェクトを複製しますか?
VBAでオブジェクトを複製する一般的な方法はありますか? ポインタだけをコピーするのではなく、x を y にコピーできますか?
ジェネリックSet y = CloneObject(x)
とは、クラスのプロパティを 1 つずつコピーするための独自のメソッドを作成する必要がないことを意味します。
c# - C#で汎用リストを複製するにはどうすればよいですか?
C# のオブジェクトの一般的なリストがあり、そのリストを複製したいと考えています。リスト内のアイテムは複製可能ですが、実行するオプションはないようですlist.Clone()
。
これを回避する簡単な方法はありますか?
java - Java で必須の複製可能なインターフェース
私はJavaで小さな問題を抱えています。Modifiable というインターフェイスがあります。このインターフェースを実装するオブジェクトは変更可能です。
また、2 つの Modifiable オブジェクトを受け取る ModifyCommand クラス (Command パターンを使用) もあります (リスト内でそれらをさらに交換する - それは私の質問ではありません。私はすでにそのソリューションを設計しています)。
ModifyCommand クラスは、Modifiable オブジェクトのクローンを作成することから始めます。論理的には、Modifiable インターフェイスが Cloneable を拡張するようにしました。次に、インターフェースは、その実装クラスが再定義する必要がある clone() メソッドを定義します。
次に、ModifyCommand で、firstModifiableObject.clone() を実行できます。私の論理では、Modifiable を実装するクラスは、Cloneable になるため、Object から clone メソッドを再定義する必要があります (それが私がやりたいことです)。
問題は、Modifiable を実装するクラスを定義し、clone() をオーバーライドしたい場合、Object クラスの clone() メソッドが Modifiable のメソッドを非表示にしていると言って、それができないということです。
私は何をすべきか?「やり方が間違っている」と思い込んでいる…
ありがとう、
ギヨーム。
編集: clone() のことを忘れると思います。a) Modifiable オブジェクト (インターフェースを実装する) に渡されたオブジェクトが既に複製されていると仮定するか、b) 基本的に Modifiable オブジェクトのディープコピーを行う copy() などと呼ばれる別のメソッドを作成します (または、一般的なソリューションが機能する可能性があります...)。
c++ - C++ の clone() の最良の署名は何ですか?
Scott Myers が書いたように、C++ の型システムの緩和を利用して clone() を宣言し、宣言されている実際の型へのポインターを返すことができます。
コンパイラは、clone() がオブジェクトの型へのポインターを返すことを検出し、Derived がそれをオーバーライドして、派生へのポインターを返すことを許可します。
次のように、所有権のセマンティクスの転送を意味するスマート ポインターを clone() が返すようにすることが望ましいでしょう。
残念ながら、規則の緩和はテンプレート化されたスマート ポインターには適用されず、コンパイラーはオーバーライドを許可しません。
したがって、次の 2 つのオプションが残っているようです。
- clone() に「ダム」ポインターを返させ、クライアントがそれを破棄する責任があることを文書化します。
- clone() がスマート ベース ポインターを返すようにし、必要に応じてクライアントが dynamic_cast を使用して派生ポインターに保存するようにします。
これらのアプローチのいずれかが優先されますか? または、所有権のセマンティクスの譲渡を食べて、強力な型の安全性も確保する方法はありますか?
c# - C# Reflection Indexed Properties
I am writing a Clone method using reflection. How do I detect that a property is an indexed property using reflection? For example:
My method so far:
php - PHP5 の「クローン」はどのように機能しますか?
編集: この動作は、クエリ グローバルをオンにすると再現可能です。
私は次のものを持っています:
対。
前者は $query_key の値を出力しますが、後者は何も出力しません。これはクローンのどのような奇妙な副作用ですか?
jquery - jQuery Listenプラグインイベントのクローンを作成するにはどうすればよいですか?
私のページにはいくつかの<tr>
要素があり、click()
それぞれの中にある画像にイベントが添付されています。私はこのコードを使用します
次のことを行います。
<tr>
それらを別のテーブルにコピーします<tr>
s内の画像のクリックイベントを保持します(true
引数のため)
それはすべてうまくいきます。これで、これらにjQuery Listenイベントを追加した<tr>
ので、ユーザーは正確に狙う必要がありません。ユーザーはのどこでもクリック<tr>
でき、クリックを画像に渡すことができます。
これは次のようにコーディングされています。
listen()イベントは元のアイテムでは正常に機能しますが、複製されたアイテムでは、listen()イベントは失敗します。画像のクリックイベントは引き続き正常に機能します。
これがFirebugが私に言うことです:
...そしてjquery.listen-1.0.3-min.jsの9行目を参照しています。
複製された要素でlisten()イベントを機能させるにはどうすればよいですか?
アップデート
デフォルトでは、jQueryは複製された要素のイベントをコピーしませんが、このプラグインはそれを行うように作られています。
一方、listen()プラグインの作成者は、別の戦略を提案しました。以下の私の回答を参照してください。