
130
DEVELOPING
COLDFUSION 9 APPLICATIONS
The CFML Programming Language
Las
t
upda
te
d 8/5/2010
applicant=applicants.rejected[j];
WriteOutput(applicant & "<br>");
if (StructKeyExists(rejectCode,applicant)) {
switch(rejectCode[applicant]) {
case "score":
WriteOutput("Reject reason: Score was too low.<br>");
break;
case "late":
WriteOutput("Reject reason: Application was late.<br>");
break;
default:
WriteOutput("Rejected with invalid reason code.<br>");
} //end switch
} //end if
else {
WriteOutput("Reject reason was not defined.<br>");
} //end else
WriteOutput("<br>");
} //end for
</cfscript>
Reviewing the code
The following table describes the code:
Code
Description
<cfscript>
//Set the variables
acceptedApplicants[1] = "Cora Cardozo";
acceptedApplicants[2] = "Betty Bethone";
acceptedApplicants[3] = "Albert Albertson";
rejectedApplicants[1] = "Erma Erp";
rejectedApplicants[2] = "David Dalhousie";
rejectedApplicants[3] = "Franny Farkle";
applicants.accepted=acceptedApplicants;
applicants.rejected=rejectedApplicants;
rejectCode=StructNew();
rejectCode["David Dalhousie"] = "score";
rejectCode["Franny Farkle"] = "too late";
Creates two one-dimensional arrays, one with the
accepted applicants and another with the rejected
applicants. The entries in each array are in random order.
Creates a structure and assign each array to an element
of the structure.
Creates a structure with rejection codes for rejected
applicants. The
rejectedCode
structure does not have
entries for all rejected applicants, and one of its values
does not match a valid code. The structure element
references use associative array notation in order to use
key names that contain spaces.
ArraySort(applicants.accepted,"text","asc");
WriteOutput("The following applicants were accepted:<hr>");
for (j=1;j lte ArrayLen(applicants.accepted);j=j+1) {
WriteOutput(applicants.accepted[j] & "<br>");
}
WriteOutput("<br>");
Sorts the accepted applicants alphabetically.
Displays a heading.
Loops through the accepted applicants and writes their
names. Curly brackets enhance clarity, although they are
not needed for a single statement loop.
Writes an additional line break at the end of the list of
accepted applicants.
ArraySort(applicants.rejected,"text","asc");
WriteOutput("The following applicants were rejected:<hr>");
Sorts
rejectedApplicants
array alphabetically and
writes a heading.
for (j=1;j lte ArrayLen(applicants.rejected);j=j+1) {
applicant=applicants.rejected[j];
WriteOutput(applicant & "<br>");
Loops through the rejected applicants.
Sets the applicant variable to the applicant name. This
makes the code clearer and enables you to easily
reference the
rejectCode
array later in the block.
Writes the applicant name.
Содержание COLDFUSION 9
Страница 1: ...Developing Applications ADOBE COLDFUSION 9...