gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 19:58:44 25 4
gpt4 key购买 nike

如果我有

<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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com