CFMLとCF9を使用しているときは、通常、ループ変数です。この場合local.i
には、例えば:CFScriptのvarスコープループ変数は必要ですか?
<cfloop list="#this.list#" index="local.i">
<cfif Len(local.i) GT 10>
// do something
</cfif>
</cfloop>
私は最近のCFScriptの中にいくつかのものを変換し始め、(私の失望に、私はCFScriptでリストをループする方法がないことが判明)私があれば思ったんだけど
for (i = 1; LTE ListLen(this.list); i = i + 1) {
if (Len(ListGetAt(this.list, i) GT 10)) {
// do something
}
}
が、私は私の例では、サンプルコードのlocal.i = 1
とlocal.i = local.i + 1
isteadをやるべきこと:私はまだのvarスコープ私のループ変数、およびどのようにすべき?それは必要ですか?
EDIT:私のCFMLループのCFScript形式が正しいかどうかを尋ねる必要があります。 delimiter
引数にCFMLループが,
(コンマとスペース)を使用していて、CFScriptバージョンのループに存在しないように見えるため、私は尋ねます。
私は注意します一つのこと:ループを開始する前に、リストの長さを節約し、より簡潔に使用についてベンの良い点で私はあなたのコードは次のようになり、スタイルをインクリメント++取る
あなたのリストの長さを変更することができます、私はそれを変数に格納し、それをループします。私の理解は、あなたがこれを書いた方法で、すべてのループに対してlistlen()オペレーションが呼び出されるということです。 –