coldfusion - 使用动态参数数组调用函数

标签 coldfusion cfml openbd

如果我有

<cfset arr_arguments = ["a","b","c"]>
<cfunction name="someFunction">
 <cfargument name="someArgumentOne">
 <cfargument name="someArgumentTwo">
 <cfargument name="someArgumentThree">

</cffunction>

有什么方法可以调用someFunction带参数 arr_arguments ,类似于 someFunction("a","b","c") ?我当然知道我可以使用 argumentCollection将(键控)结构传递给函数,但我特别询问传入(无键)数组。在 JS 中,这可以通过 someFunction.apply(this,arr_arguments) 轻松完成。 ,但在coldfusion我找不到任何方法来做到这一点。

最佳答案

未命名的参数作为结构体传递给函数,其中数字键与函数参数中定义的参数位置相匹配。因此,您可以将数组转换为带有数字键的结构,而不是传递命名参数,然后使用参数集合传递结构:

<cfset arr_arguments = {"1"="a","2"="b","3"="c"}>
<cfset someFunction(argumentCollection=arr_arguments)>

您可以轻松地将数组转换为带有数字键的结构,如下所示:
<cfset args = {}>
<cfloop from="1" to="#arrayLen(arr_arguments)#" index="i">
    <cfset args[i] = arr_arguments[i]>
</cfloop>

关于coldfusion - 使用动态参数数组调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16146781/

相关文章:

coldfusion - 什么是蓝龙

Coldfusion - 允许用户选择保存生成的 csv 文件的位置

coldfusion - 如何在coldfusion中获取$_SERVER ['DOCUMENT_ROOT']?

tfs - 在 TFS 2018 build Summary 中显示 CFML CFLint 结果

coldfusion - 在冷融合中使用动态案例切换(真)?

pdf - Coldfusion/DDX PDF 单页书签

tomcat - Railo + Tomcat + IIS7 - 默认/空白主机头

parsing - Jsoup绝对路径

coldfusion - OpenBD 或 Railo 是 ColdFusion 的可行替代品吗?