Duplicate

説明

変数のクローン (ディープコピー) を返します。元の変数への参照はありません。

戻り値

変数のクローン

関数のシンタックス

Duplicate(variable_name)

関連項目

StructCopy、その他の構造体関数、『ColdFusion アプリケーションの開発』のModifying a ColdFusion XML object

履歴

ColdFusion 8: 動作が変更されました。この関数で CFC をコピーできるようになりました。

ColdFusion MX: 動作が変更されました。この関数を XML オブジェクトに対して使用できるようになりました。

パラメータ

パラメータ

説明

variable_name

コピーを作成する変数の名前です。

使用方法

この関数を使用すると、ネストされた構造体やクエリーなどの複雑な構造体をコピーできます。

CFC インスタンスをコピーすると、Duplicate 関数を呼び出した時点で This スコープに存在していた変数の値を含め、CFC の内容全体がコピーされます。その後、2 つの CFC インスタンスは独立して存在するため、関数を呼び出して一方のコピーを変更しても、他方のコピーには影響しません。

注意: この関数では、cfobject タグや CreateObject 関数から返された COM、CORBA、JAVA のオブジェクトはコピーできません。配列要素や構造体フィールドが COM、CORBA、JAVA オブジェクトの場合、その配列や構造体はコピーできません。

<h3>Duplicate Example</h3> 
<cfset s1 = StructNew()> 
<cfset s1.nested = StructNew()> 
<cfset s1.nested.item = "original"> 
<cfset copy = StructCopy(s1)> 
<cfset clone = Duplicate(s1)> 
<!--- modify the original ---> 
<cfset s1.nested.item = "modified"> 
<cfoutput> 
<p>The copy contains the modified value: #copy.nested.item#</p> 
<p>The duplicate contains the original value: #clone.nested.item#</p> 
</cfoutput>