問題タブ [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.

0 投票する
9 に答える
142153 参照

php - PHPでオブジェクトのコピーを作成するにはどうすればよいですか?

PHPでは、オブジェクトは参照によって渡されるようです。代入演算子でさえ、オブジェクトのコピーを作成しているようには見えません。

簡単で工夫された証拠は次のとおりです。

どちらの印刷の場合でも、「後」になります

では、参照ではなく値で$ aset_b()に渡すにはどうすればよいですか?

0 投票する
6 に答える
12444 参照

java - Java での多次元配列のディープ クローニング...?

サイズが推定される 2 つの多次元配列 (実際には 2D のみ) があります。それらをディープクローンするにはどうすればよいですか? これが私がこれまでに得たものです:

等しいかどうかのテストoriginal.equals(clone);は false を吐き出します。なんで?:|

0 投票する
4 に答える
3521 参照

silverlight-2.0 - Silverlight でビジネス オブジェクトを複製する最良の方法は何ですか?

DTO のクローンを作成する最良の方法は何ですか? Silverlight には、ICloneable インターフェイスや BinaryFormatter クラスはありません。反射だけが唯一の方法ですか?

0 投票する
3 に答える
33947 参照

vba - VBA でオブジェクトを複製しますか?

VBAでオブジェクトを複製する一般的な方法はありますか? ポインタだけをコピーするのではなく、x を y にコピーできますか?

ジェネリックSet y = CloneObject(x)とは、クラスのプロパティを 1 つずつコピーするための独自のメソッドを作成する必要がないことを意味します。

0 投票する
28 に答える
766084 参照

c# - C#で汎用リストを複製するにはどうすればよいですか?

C# のオブジェクトの一般的なリストがあり、そのリストを複製したいと考えています。リスト内のアイテムは複製可能ですが、実行するオプションはないようですlist.Clone()

これを回避する簡単な方法はありますか?

0 投票する
6 に答える
6183 参照

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() などと呼ばれる別のメソッドを作成します (または、一般的なソリューションが機能する可能性があります...)。

0 投票する
8 に答える
12865 参照

c++ - C++ の clone() の最良の署名は何ですか?

Scott Myers が書いたように、C++ の型システムの緩和を利用して clone() を宣言し、宣言されている実際の型へのポインターを返すことができます。

コンパイラは、clone() がオブジェクトの型へのポインターを返すことを検出し、Derived がそれをオーバーライドして、派生へのポインターを返すことを許可します。

次のように、所有権のセマンティクスの転送を意味するスマート ポインターを clone() が返すようにすることが望ましいでしょう。

残念ながら、規則の緩和はテンプレート化されたスマート ポインターには適用されず、コンパイラーはオーバーライドを許可しません。

したがって、次の 2 つのオプションが残っているようです。

  1. clone() に「ダム」ポインターを返させ、クライアントがそれを破棄する責任があることを文書化します。
  2. clone() がスマート ベース ポインターを返すようにし、必要に応じてクライアントが dynamic_cast を使用して派生ポインターに保存するようにします。

これらのアプローチのいずれかが優先されますか? または、所有権のセマンティクスの譲渡を食べて、強力な型の安全性も確保する方法はありますか?

0 投票する
6 に答える
24777 参照

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:

0 投票する
2 に答える
1014 参照

php - PHP5 の「クローン」はどのように機能しますか?

編集: この動作は、クエリ グローバルをオンにすると再現可能です。

私は次のものを持っています:

対。

前者は $query_key の値を出力しますが、後者は何も出力しません。これはクローンのどのような奇妙な副作用ですか?

0 投票する
1 に答える
2259 参照

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()プラグインの作成者は、別の戦略を提案しました。以下の私の回答を参照してください。