Bei der Verwendung von CFML und CF9 Variabler Bereich normalerweise meine Schleife Variablen; in diesem Fall local.i
, zum Beispiel:Ist es erforderlich, in CFScript Variablenvariablenvariablen zu varieren?
<cfloop list="#this.list#" index="local.i">
<cfif Len(local.i) GT 10>
// do something
</cfif>
</cfloop>
ich ein paar Sachen in CFScript kürzlich Umwandlung begonnen, und (zu meiner Enttäuschung fand ich heraus, dass es keine Möglichkeit, eine Schleife über eine Liste in CFScript ist) Ich frage mich, wenn ich soll noch meine Schleife Variablen var Umfang und wie:
for (i = 1; LTE ListLen(this.list); i = i + 1) {
if (Len(ListGetAt(this.list, i) GT 10)) {
// do something
}
}
soll ich tun local.i = 1
und local.i = local.i + 1
istead des Beispielcodes in meinem Beispiel sein? Ist es nötig?
BEARBEITEN: Ich sollte auch fragen, ob die CFScript-Form meiner CFML-Schleife korrekt ist; Ich frage, weil ich gerade bemerkt habe, dass meine CFML-Schleife ein ,
(Komma und Leerzeichen) für das delimiter
Argument verwendet, das in der CFScript-Version der Schleife nicht vorhanden scheint.
Eine Sache mag ich anmerken - Es sei denn, Sie " etwas tun "kann die Länge Ihrer Liste ändern, ich würde es in einer Variablen speichern und dazu führen. Mein Verständnis ist, dass die Art und Weise, wie Sie dies geschrieben haben, die listlen() Operation für jede Schleife aufgerufen wird. –