每隔一段时间,无论是在显示代码中还是在组装字符串时,我都会制作一个列表,并且需要弄清楚如何在该列表中插入逗号。
我通常是这样做的:
<cfset hide_comma=true>
<cfloop ... some kind of loop ...>
<cfif hide_comma><cfset hide_comma=false><cfelse>,</cfif>
.... rest of code here ...
</cfloop>
我想知道是否有更清洁的方法来做到这一点。我意识到一个选项将类似于以下内容:
<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=...>
我可以QueryName.RowCount
用于此目的,但在 s 的文档中找不到类似的东西CFLOOP
。