我有一个ColdFusion函数"foo",它需要三个参数,其中后两个是可选的:
<cffunction name="foo" access="public" returntype="any">
<cfargument name="arg1" type="any" required="true" />
<cfargument name="arg2" type="any" required="false" default="arg2" />
<cfargument name="arg3" type="any" required="false" default="arg3" />
...
<cfreturn whatever />
</cffunction>
我想调用foo函数,传递参数arg1和arg3,但省略arg2。 我知道如果使用cfinvoke
调用函数是可能的,但这种语法非常冗长和复杂。 我尝试了这两种方法,但都不起作用:
<cfset somevar=foo(1, arg3=3) /> <!--- gives syntax error --->
<cfset somevar=foo(1, arg3:3) /> <!--- gives syntax error --->