gpt4 book ai didi

coldfusion - 我可以在 ColdFusion 中通过引用传递一个简单的值吗?

转载 作者:行者123 更新时间:2023-12-01 08:42:09 26 4
gpt4 key购买 nike

默认情况下,ColdFusion 按值将简单类型(如数字、字符串和 GUID)传递给函数。我想通过引用传递一个简单的类型。

我目前正在将一个简单的值包装在一个结构中(它们通过引用传递)。这解决了我的问题,但它非常难看:

<!--- TheFunctionName---->
<cffunction name="TheFunctionName">
<cfargument name="OutVariable" type="struct">
<cfset OutVariable.ID = 5>
</cffunction>

<cfset OutVariable=StructNew()>
<cfset TheFunctionName(OutVariable)>

<!--- I want this to output 5--->
<cfoutput>#OutVariable.ID#</cfoutput>

我更喜欢这样的:

<!--- TheFunctionName---->
<cffunction name="TheFunctionName">
<cfargument name="OutVariable" passbyref="true">
<cfset OutVariable = 5>
</cffunction>

<cfset TheFunctionName(OutVariable)>

<!--- I want this to output 5--->
<cfoutput>#OutVariable#</cfoutput>

最佳答案

AFAIK,在 ColdFusion 中无法通过引用传递简单的值。我能想到的唯一解决方法是您已经在使用的解决方法。

相反,我建议尝试重新构建您的程序以适应语言的本质。如果只有一个简单的值可以“修改”,你可以让你的函数返回新值,然后像这样调用它:

<cfset SomeVar = TheFunctionName(SomeVar)>

如果您要修改多个值,请退后一步考虑是否可以将这些多个值捆绑到 CFC 中,让您的 mutator 函数成为 CFC 的方法。无论如何,这可能是更清晰、更易于维护的解决方案。

关于coldfusion - 我可以在 ColdFusion 中通过引用传递一个简单的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1145854/

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