语法 – 如何在ColdFusion中调用函数时仅指定一些可选参数?

我有一个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 --->
你必须使用命名参数.您可以使用其他语言来混合命名和位置参数.

<cfset somevar = foo(arg1=1, arg3=3) />   
http://stackoverflow.com/questions/1071396/how-to-specify-only-some-optional-arguments-when-calling-function-in-coldfusion

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:语法 – 如何在ColdFusion中调用函数时仅指定一些可选参数?