| DE | |
| 説明
パラメータ内の二重引用符 (") をエスケープし、結果を二重引用符で囲みます。 |
|
| 戻り値
二重引用符で囲まれたパラメータ。内部の二重引用符はエスケープされます。 |
|
| カテゴリ
ダイナミック評価関数 |
|
関数のシンタックスDE(string) |
|
| 関連項目
Evaluate、IIf、『ColdFusion MX 開発ガイド』の第4章の「式と # 記号の使用」 |
|
| パラメータ
|
|
| 使用方法
DE 関数は、パラメータとして IIf 関数または Evaluate 関数に渡される文字列が評価されるのを遅らせます。 この関数を IIf 関数と共に使用すると、2 番めと 3 番めのパラメータを式として自動的に評価できるので便利です。DE 関数を使用すると、変数として出力し、式として処理する必要がない文字列パラメータの評価を避けることができます。次の例でその使い方を示します。IIF を使用して、テーブル行の背景色として白とグレーを交互に設定します。また、DE 関数を使用して、ColdFusion で色の文字列が評価されないようにします。 <cfoutput>
<table border="1" cellpadding="3">
<cfloop index="i" from="1" to="10">
<tr bgcolor="#IIF( i mod 2 eq 0, DE("white"), DE("gray") )#">
<td>
hello #i#
</td>
</tr>
</cfloop>
</table>
</cfoutput>
DE 関数は、シャープ記号 (#) で囲まれた変数名の評価は遅らせません。ColdFusion 関数は、DE 関数が存在するかどうかに関係なく、変数を評価します。 次の例では、DE 関数とシャープ記号を一緒に使用する方法、およびこの関数を IIF 関数と共に使用する場合の動作を示します。 <cfoutput> <cfset var1=Blue> <cfset var2=Green> <cfset myresult=IIf( 1 eq 2, DE(#Var1#), DE(#Var2#))> 式は #myresult# </cfoutput> ColdFusion は、このコードを次のように処理します。
|
|
例<!--- この例は、DE と Evaluate の使用方法を示しています。 --->
<h3>DE の例</h3>
<cfif IsDefined("FORM.myExpression")>
<cftry>
<!--- 式および式の評価の結果を表示 --->
<cfoutput>
<h3>式 #FORM.MyExpression# を評価</h3>
</cfoutput>
コード :<br>
#Evaluate(FORM.myExpression)#
<br><br>
結果 :<br>
<cfoutput>
#Evaluate(FORM.myExpression)#
</cfoutput>
<h3>DE を使用して Evaluate 関数の評価を回避</h3>
コード :<br>
#Evaluate(DE(FORM.MyExpression))#<br><br>
結果 :<br>
<cfoutput>
#Evaluate(DE(FORM.MyExpression))#
</cfoutput>
<!--- 無効な式のコード処理エラーとその他のエラー --->
<cfcatch type = "Any">
<!--- 表示するメッセージ --->
<h3><B>エラー</B>が発生しました。
"2+2" のような簡単な式で試してください。</h3>
<cfoutput>
<!--- ColdFusion からの診断メッセージを表示します。 --->
<p>#cfcatch.message#
</cfoutput>
</cfcatch>
</cftry>
</cfif>
<h3>有効な ColdFusion 式を入力します。</h3>
<cfform>
<cfinput name="myExpression" type="Text" size="40">
<cfinput type="submit" name="submitit">
</cfform>
|
|
| STRING | |
| 評価の対象外とする文字列です。 | |