数组参数,默认为空
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)#">
我想将一个可选的数组参数传递给一个函数。如果未提供参数,则数组应为空。 我尝试了以下方法:
<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)#">