Quando si usano CFML e CF9 di solito var scope le mie variabili di ciclo; in questo caso local.i
, ad esempio:È necessario varare le variabili del ciclo scope in CFScript?
<cfloop list="#this.list#" index="local.i">
<cfif Len(local.i) GT 10>
// do something
</cfif>
</cfloop>
recente ho iniziato a convertire alcune cose in cfscript, e (a mio disappunto ho scoperto che non v'è alcun modo per ciclare su una lista in cfscript) Mi chiedo se dovrei ancora var ambito mio variabili di loop, e come:
for (i = 1; LTE ListLen(this.list); i = i + 1) {
if (Len(ListGetAt(this.list, i) GT 10)) {
// do something
}
}
dovrei fare local.i = 1
e local.i = local.i + 1
istead del codice di esempio nel mio esempio? È necessario?
EDIT: Vorrei anche chiedere se il formato CFScript del mio ciclo CFML è corretto; Chiedo perché ho appena notato che il mio ciclo CFML utilizza uno ,
(virgola e spazio) per l'argomento delimiter
, che sembra non esistenza nella versione CFScript del ciclo.
Una cosa che vorrei notare - A meno che il vostro " fare qualcosa "può cambiare la lunghezza della tua lista, la memorizzerei in una variabile e lo farò. La mia comprensione è che il modo in cui hai scritto questo, l'operazione listlen() sarà chiamata per ogni ciclo. –