Coldfusion CF9 cfscript,在参数中传递动态数组

Coldfusion CF9 cfscript,在参数中传递动态数组,coldfusion,coldfusion-9,fw1,Coldfusion,Coldfusion 9,Fw1,今年我首先要问一个大问题。 当我这样做的时候 myName = "Henry"; myCustomFunction( [ myName, "Thierry" ] ); 它抛出一个错误,如myName未定义。为什么? 我可以通过这样做来解决这个问题 myName = "Henry"; aMyArrayArgument = [ myName, "Thierry" ]; myCustomFunction( aMyArrayArgument ); 但是,我还是想知道为什么Coldfusion不允许在

今年我首先要问一个大问题。 当我这样做的时候

myName = "Henry";
myCustomFunction( [ myName, "Thierry" ] );
它抛出一个错误,如
myName未定义
。为什么?

我可以通过这样做来解决这个问题

myName = "Henry";
aMyArrayArgument = [ myName, "Thierry" ];
myCustomFunction( aMyArrayArgument );
但是,我还是想知道为什么Coldfusion不允许在参数中传递
[myName,“Thierry”]

如果有帮助的话,我使用frameworkone(FW/1)

谢谢大家!

如果我这样做:

 <cffunction name="xx" returntype="void">
     <cfargument name="x" type="array">
     <cfdump var="#arguments.x#">
 </cffunction>

 <cfset myname = "dan">
 <cfset xx([myname, 'bracuk']) >


代码运行时没有错误,我看到了转储。您的代码中肯定还有其他问题。

如果您的实际代码看起来更像这样:

if (something)
{
    myName = "Henry";
    myCustomFunction( argname=[ myName, "Thierry" ] );
}
这是因为CF中的文字结构和数组表示法写得很糟糕,而且有缺陷


如果您能确认它中断的情况,(已经有几个问题与此相关;您可能想检查重复项,也可能不想检查重复项)。

我怀疑它与您的函数定义有关。
myCustomFunction
的签名是什么?另外,确切的错误信息是什么?我将回应其他人所说的。你引用的代码很好。是其他代码给了你这个错误。我可以建议您在启用健壮异常处理的情况下查看错误,它将为您提供准确的错误消息,以及错误发生的线路。然后你可以提供给我们,而不是像“它抛出了一个错误,比如myName是未定义的”这样含糊不清的东西。不要告诉我们错误是什么样的,给我们确切的错误,以及导致错误的确切代码。这听起来像是bug的变体-我猜实际代码在一个块中,并使用命名参数。