我有一个 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) />
关于syntax - 在ColdFusion中调用函数时如何仅指定一些可选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1071396/