
52
DEVELOPING
COLDFUSION 9 APPLICATIONS
The CFML Programming Language
Las
t
upda
te
d 8/5/2010
ColdFusion processes expressions and functions in the following sequence:
1
For each operator in an expression, it determines the required operands. (For example, the multiplication operator
requires numeric operands and the CONTAINS operator requires string operands.)
For functions, it determines the type required for each function argument. (For example, the
Min
function requires
two numbers as arguments and the
Len
function requires a string.)
2
It evaluates all operands or function arguments.
3
It converts all operands or arguments whose types differ from the required type. If a conversion fails, it reports an
error.
Conversion between types
Although the expression evaluation mechanism in ColdFusion is powerful, it cannot automatically convert all data.
For example, the expression
"eight" * 10
produces an error because ColdFusion cannot convert the string "eight"
to the number 8. Therefore, you must understand the rules for conversion between data types.
The following table explains how conversions are performed. The first column shows values to convert. The remaining
columns show the result of conversion to the listed data type.
ColdFusion cannot convert complex types, such as arrays, queries, and COM objects, to other types. However, it can
convert simple data elements of complex types to other simple data types.
Type conversion considerations
The following sections detail specific rules and considerations for converting between types.
Value
As Boolean
As number
As date-time
As string
"Yes"
True
1
Error
"Yes"
"No"
False
0
Error
"No"
True
True
1
Error
"Yes"
False
False
0
Error
"No"
Number
True if Number is not 0;
False otherwise.
Number
See “Date-time values” earlier in
this chapter.
String representation
of the number (for
example, “8”).
String
If "Yes", True
If "No", False
If it can be converted to 0,
False
If it can be converted to any
other number, True
If it represents a number (for
example, "1,000" or "12.36E-12"), it is
converted to the corresponding
number. If it represents a date-time
(see next column), it is converted to
the numeric value of the
corresponding date-time object.
If it is an ODBC date, time, or
timestamp (for example "{ts
'2001-06-14 11:30:13'}", or if it is
expressed in a standard U.S.
date or time format, including
the use of full or abbreviated
month names, it is converted to
the corresponding date-time
value.
Days of the week or unusual
punctuation result in an error.
Dashes, forward-slashes, and
spaces are generally allowed.
String
Date
Error
The numeric value of the date-time
object.
Date
An ODBC timestamp.
Содержание COLDFUSION 9
Страница 1: ...Developing Applications ADOBE COLDFUSION 9...