数组参数,默认为空

Array parameter, empty by default

我想将一个可选的数组参数传递给一个函数。如果未提供参数,则数组应为空。 我尝试了以下方法:

<cfargument name="time_blocks" type="array" required="false" default="[]">

但我收到以下错误:

invalid call of the function CreateRateBlock
14th Argument (time_blocks) is of invalid type, can't cast String [] to a value of type [array]

我也试过这个:

<cfargument name="time_blocks" type="array" required="false" default="">

在这种情况下,错误几乎是一样的:

invalid call of the function CreateRateBlock
14th Argument (time_blocks) is of invalid type, can't cast String [] to a value of type [array]

我也尝试删除默认属性,但在那种情况下 time_blocks 的值为空。 我做错了什么?

[] 更改为 #[]#。您目前正在尝试为其提供字面值 "[]".

[] 不起作用,因为它只是一个包含 2 个字符的字符串 "[]".

#[]# 技术上应该可行,但旧的 CF 不够智能。所以使用:

<cfargument name="time_blocks" type="array" required="false" default="#arrayNew(1)#">