数组参数,默认为空

时间:2015-01-07 20:01:31

标签: arrays coldfusion railo

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

<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的值为null。 我做错了什么?

2 个答案:

答案 0 :(得分:12)

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

#[]#技术上应该可以工作,但是老CF不够智能。所以使用:

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

答案 1 :(得分:6)

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