作业帮 > 综合 > 作业

如何实现语言中的闭包(Closure)

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