Coldfusion 闭包不能调用CF 10中的任何用户定义函数?为什么?

Coldfusion 闭包不能调用CF 10中的任何用户定义函数?为什么?,coldfusion,closures,coldfusion-10,Coldfusion,Closures,Coldfusion 10,注意:闭包不能调用任何用户定义的函数,因为 函数的上下文不会被保留,尽管闭包的上下文是 保留。它给出了错误的结果。例如,当一个闭包是 缓存后,可以正确调用它以供以后使用,而函数 不能 引自: 有人能详细说明一下吗?为什么关闭不能调用UDF 闭包可以调用CF内置函数吗?还是仅仅是用户定义的函数 我认为理解这一限制至关重要。多谢各位 闭包保留在创建时可见的变量副本 这基本上是计算机科学中闭包的定义。捕获的环境和要在该上下文中评估的一些代码 从闭包调用函数的限制似乎是ColdFusion中闭包实现中的

注意:闭包不能调用任何用户定义的函数,因为 函数的上下文不会被保留,尽管闭包的上下文是 保留。它给出了错误的结果。例如,当一个闭包是 缓存后,可以正确调用它以供以后使用,而函数 不能

引自:

有人能详细说明一下吗?为什么关闭不能调用UDF

闭包可以调用CF内置函数吗?还是仅仅是用户定义的函数

我认为理解这一限制至关重要。多谢各位

闭包保留在创建时可见的变量副本

这基本上是计算机科学中闭包的定义。捕获的环境和要在该上下文中评估的一些代码


从闭包调用函数的限制似乎是ColdFusion中闭包实现中的一个缺陷——函数无法从闭包捕获的环境访问其环境

闭包可以调用CF内置函数和用户定义函数。CF的实现没有任何限制,您可以自己验证

出现文档注释是因为(预发布时)记录了一个bug,缓存的闭包实例(比如在应用程序范围内)在执行两次时无法调用UDF。我认为它是固定的,因此应该删除注释


p、 我在ColdFusion中负责closure的实现

awesome,您能通知文档ppl更新它吗?非常感谢。Chandan,你能看看吗?我很想听听你在这方面的意见。谢谢大家!@亨利,谢谢你提出来!在文档中确实存在误导,将通知团队。