数组参数,默认为空

Mic*_*ael 6 arrays coldfusion railo

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

<cfargument name="time_blocks" type="array" required="false" default="[]">
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

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

我也试过这个:

<cfargument name="time_blocks" type="array" required="false" default="">
Run Code Online (Sandbox Code Playgroud)

在这种情况下,错误几乎相同:

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

我也尝试删除默认属性,但在这种情况下,值为time_blocksnull.我究竟做错了什么?

Hen*_*nry 12

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

#[]#技术上应该工作,但老CF不够聪明.所以使用:

<cfargument name="time_blocks" type="array" required="false" default="#arrayNew(1)#">
Run Code Online (Sandbox Code Playgroud)


Reg*_*Joe 6

更改[]#[]#.你现在正试图给它字面值"[]".