如何实现语言中的闭包(Closure)
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/09 05:52:29
如何实现语言中的闭包(Closure)如何实现语言中的闭包(Closure)如何实现语言中的闭包(Closure)现在知道了表的结构之后,让我们看一下程序的执行过程中究竟发生了什么事情.现在我们定义一
如何实现语言中的闭包(Closure)
如何实现语言中的闭包(Closure)
如何实现语言中的闭包(Closure)
现在知道了表的结构之后,让我们看一下程序的执行过程中究竟发生了什么事情.现在我们定义一张全局表global,global在刚开始的时候仅仅有writeln一项.执行了MyClosure=func...的时候global添加了MyClosure,执行到a=MyClosure(1)的时候,MyClosure内部构造了一张表链接到global身上,我们把这张表命名为internal.程序如果能够访问internal就能够访问global,反之不可.所以外部的代码连接到的环境节点是global,而MyClosure里面的东西链接到的节点是internal - global.这个时候闭包已经构造好了,其结构是<内部函数的指针,internal-global.