我想我有这个问题,但我想确认一下。
使用动态范围,使用嵌套函数还是单独的函数都没有关系,因为变量只依赖于调用堆栈。
仅涉及纯函数,使用嵌套函数或单独函数也无关紧要。无论作用域的类型如何,这都是正确的。
对于词法范围,嵌套函数大致模仿调用具有动态范围的函数。
在词法范围内,完全由纯函数编写的程序(可能允许对标准输出进行一次不纯打印)不需要垃圾收集。如果它有所作为,我会特别考虑带有嵌套函数扩展的 GNU C 来解决这个问题。
注意:纯函数是指完全纯函数:唯一“读取”的是参数,唯一“写入”的是函数返回。
谢谢