1

コードの表示または文字列の組み立てのいずれかで、リストを作成し、そのリストにカンマを挿入する方法を理解する必要があることがよくあります。

これは私が通常行う方法です:

<cfset hide_comma=true>
<cfloop ... some kind of loop ...>
    <cfif hide_comma><cfset hide_comma=false><cfelse>,</cfif>
    .... rest of code here ...
</cfloop>

これを行うためのよりクリーンな方法があるかどうか疑問に思っています。1つのオプションは次のようなものになると思います:

<cfset output_as_array = []>
<cfloop ... some kind of loop ...>
    <cfset loop_output = "">
    ... rest of code here, but append all output to loop output instead ...
    <cfset ArrayAppend(output_as_array, trim(loop_output))>
</cfloop>
<cfoutput>#ArrayToList(output_as_array, ", ")#</cfoutput>

しかし、それは実際にはそれほど明確ではないようです。

対照的に、Django では、各ループにカウンターが組み込まれているため、次のように記述できます。

{% for ... some kind of loop ... %}
    {% if not forloop.first %},{% endif %}
    ... rest of code here ...
{% endfor %}

ほぼ同じロジックですが、独自にループ状態を作成するのではなく、ループ状態をチェックする組み込みの方法があるだけです。a をループするときにこの目的に<cfoutput query=...>使用できることはわかっていますが、 s のドキュメントで同様のものを見つけることができません。QueryName.RowCountCFLOOP

4

3 に答える 3