2015-01-07 7 views
6

オプションの配列パラメータを関数に渡したいとします。パラメータが指定されていない場合、配列は空でなければなりません。 私は次のことを試してみました:配列パラメータ、デフォルトでは空です

<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です。 私は何が間違っていますか?

+0

引用符なしで試しましたか? – Tropicalista

答えて

11

[] 2文字の文字列であるため、"[]"の文字列であるため動作しません。

#[]#技術的には動作するはずですが、古いCFは十分スマートではありません。だから使用:

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

'#[]#は' cflive.netのCF 9/Railo上で動作します。4. ' <にcfdump VAR = "#テスト#">' –

+1

うん私はそれがCF8以来の問題ではなかったと思うので、CF8を実行していて実際に*問題を抱えていなければ、#[#]#を使った方が良い答えです –

6

[]から#[]#に変更してください。あなたは現在、それに文字通りの値"[]"を与えようとしています。

関連する問題