如何摆脱没有本地作用域的 Evaluate() (CF9 之前)?
好吧,这个函数没有意义,但我只是用它作为例子:
<cffunction name="blah">
<cfset var myFoo = 123>
<cfset var varNamePrefix = "my">
<cfset var bar = Evaluate("#varNamePrefix#Foo")>
<cfreturn bar>
</cffunction>
使用 CF9,我可以使用 local["#varNamePrefix#Foo"]
。 CF7/8 有没有办法摆脱 Evaluate()
而无需使用 var local = structNew()
重构整个内容?
Ok, this func doesn't make sense, but I'm just using it as an example:
<cffunction name="blah">
<cfset var myFoo = 123>
<cfset var varNamePrefix = "my">
<cfset var bar = Evaluate("#varNamePrefix#Foo")>
<cfreturn bar>
</cffunction>
With CF9, I can use local["#varNamePrefix#Foo"]
. Is there a way for CF7/8 to get rid of the Evaluate()
without refactoring the whole thing with var local = structNew()
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不是通过记录的方式。 CF9 之前只有 getPageContext() .getActiveFunctionLocalScope()
Not by documented means. Pre-CF9 there is only getPageContext().getActiveFunctionLocalScope()