程序原本(四十六):程序设计的核心思想——执行体与它在执行过程中的环境(数据(亦或知识)的生存周期)

阅读数:33 2019 年 9 月 28 日 18:30

程序原本(四十六):程序设计的核心思想——执行体与它在执行过程中的环境(数据(亦或知识)的生存周期)

回顾上一节的所有讨论,我们在语言中使用一个数据的方法,根底上只是如下过程:找到它,使之参与运算。而关联数组使“找到数据”这件事变成对一个计算背景的维护。例如,我们有一段代码:

复制代码
var
a = 100,
b ='abc',
c = false;

这些数据的定义可以被理解为一个背景的建立(当然,我们也可以为零个数据建立一个背景),因此我们得到一个关联数组:

复制代码
aAssociativeArray = {
'a' : 100,
'b' : 'abc',
'c' : false
}

接下来我们在这个背景环境中运算。但——根据语言的不同——我们可能又需要“即用即声明”一个数据,例如:

复制代码
for (var i=0; i<100; i++) {
...
}

i这个数据的出现,意味着我们需要在aAssociativeArray中添加一个新的 Name。虽然i的值是可变的,而在整个过程中i的名字却不变,因此我们对于aAssociativeArray的 Name 只有添加和删除的需求,不需要因为值的改变而导致 Name 的改变。更进一步,

我们事实上是将一个数据的生存周期映射成了一个 Name 的增删。

评论

发布