在Structure and Interpretation of Computer Programs part 3.2中,“环境”被定义为“一系列帧”。但据我所知,本书没有进一步讨论环境与框架之间的区别。此外,我怀疑环境图纸将它们与框架混为一谈,因为书籍图纸很小而且是2-D,并且不容易显示时间演变而不是另一幅完整图纸。
因此,将创建时的环境视为与第一帧相同是否正确?然后,当环境中发生任何更改(现有绑定发生更改,创建了新绑定)时,环境会在其帧序列中添加新帧?如果这种理解不正确,那么环境和框架之间究竟有什么区别?
提前感谢您的帮助!
答案 0 :(得分:2)
帧序列是指向“向上”指向全局环境的链接列表(帧)。因此,当创建环境时(例如,在过程绑定的上下文中),“环境”是指向框架的指针...在术语中指向封闭环境(如果是全局环境,则为null)。
所以...一个合格的'是'......这是第一帧,从第一帧开始可以访问其余的环境。
这有帮助吗?
亲切, DAK
答案 1 :(得分:2)
很多时候,人们互换地使用“环境”和“框架”。就个人而言,我总是试图让它们与众不同。我使用框架来表示特定的堆栈和环境是所有框架。
答案 2 :(得分:0)
我认为初始环境是一个长度为1的序列,只有第一帧。