Adobe ColdFusion 8

Evaluate

Description

Evaluates one or more string expressions, dynamically, from left to right. (The results of an evaluation on the left can have meaning in an expression to the right.) Returns the result of evaluating the rightmost expression.

Returns

An object; the result of the evaluation(s).

Category

Dynamic evaluation functions

Function syntax

Evaluate(string_expression1 [, string_expression2 , … ])

See also

DE, IIf, PrecisionEvaluate, "Using Expressions and Number Signs" in the ColdFusion Developer's Guide

Parameters

Parameter

Description

string_expression1, string_expression2...

Expressions to evaluate

Usage

String expressions can be complex. If a string expression contains a single- or double-quotation mark, the mark must be escaped.

This function is useful for forming one variable from multiple variables. For example, to reference a column of the query qNames with a variable, var, using an index value to traverse rows, you could use the following code:

<cfset var=Evaluate("qNames.#colname#[#index#]")>

Example

<!--- This example shows the use of PrecisionEvaluate and DE functions.--->
<h3>Evaluate Example</h3>
<cfif IsDefined("FORM.myExpression")>
    <cftry>
        <!--- Evaluate the expression --->
        <cfset theExpression = Evaluate(Form.myExpression)>
        <cfoutput>
            <!--- The DE function prevents the Evaluate function from evaluating
                     the expression. --->
            The value of the expression #Evaluate(DE(FORM.MyExpression))# 
            is #theExpression#.<br>
            <!--- The following line does not use the DE function. --->
            The value of the expression #FORM.MyExpression# 
            is #theExpression#.<br>
        </cfoutput>

        <cfcatch type="application">
            <cfoutput>Could not evaluate the expression #Form.myExpression#.<br>
                    Make sure you enter a valid ColdFusion Expression.
            </cfoutput>
        </cfcatch>
    </cftry>
</cfif>

<cfform preservedata="yes">
    <h3>Enter a ColdFusion expression for evaluation</h3>
    <cfinput type="text" name="myExpression" size="60"><br />
    <br />
    <cfinput type="submit" name="submit">
</cfform>