Coldfusion 如何去掉没有局部作用域的Evaluate()(CF9之前)?

Coldfusion 如何去掉没有局部作用域的Evaluate()(CF9之前)?,coldfusion,Coldfusion,好的,这个函数没有意义,但我只是用它作为例子: <cffunction name="blah"> <cfset var myFoo = 123> <cfset var varNamePrefix = "my"> <cfset var bar = Evaluate("#varNamePrefix#Foo")> <cfreturn bar> </cffunction> 有了CF9,我可以

好的,这个函数没有意义,但我只是用它作为例子:

<cffunction name="blah">
    <cfset var myFoo = 123>
    <cfset var varNamePrefix = "my">

    <cfset var bar = Evaluate("#varNamePrefix#Foo")>

    <cfreturn bar>
</cffunction>


有了CF9,我可以使用
local[“#varnameprifix#Foo”]
。CF7/8是否有办法摆脱
Evaluate()
,而不使用
var local=structNew()
重构整个过程?

不是通过文档化的方式。在CF9之前,只有


不是通过记录的方式。在CF9之前,只有



当需要升级到CF9+时,我们需要取消该调用?我对其进行了测试,getActiveFunctionLocalScope仍然存在于9.0.1中。但是谁知道之后会发生什么呢。当升级到CF9+时,我们需要去掉这个调用?我对它进行了测试,getActiveFunctionLocalScope仍然存在于9.0.1中。但谁知道那之后会发生什么。
<cffunction name="blah">
    <cfset var myFoo = 123>
    <cfset var varNamePrefix = "my">
    <!--- ie object.method()[keyName] syntax does not seem to be supported --->
    <cfset var localScope = getPageContext().getActiveFunctionLocalScope()>
    <cfset var bar = localScope["#varNamePrefix#Foo"]>

    <cfreturn bar>
</cffunction>