关于引用环境和范围

时间:2013-02-20 09:35:20

标签: language-agnostic programming-languages

如果范围是"地点"变量可见的地方 引用环境是一个点中可见的变量集 在一个程序中它们之间有区别吗?

例如here被称为""" 范围的反面是引用环境......""" 但是我不太了解这个断言!

1 个答案:

答案 0 :(得分:0)

我认为“converse”这个词用词不当,更不用说对比两个实质上不同的类别,即代码中的(一组)变量和位置,可以访问所述变量。 “补充”可能是更好的选择。

由于给出的原因,是的,存在差异。

你引用probaly想要引用的引用是变量/参数掩码。考虑一个过程声明的变量'a'。假设过程体的一部分是一个块本地块,另一个名为“a”的变量被声明为。

第一个变量'a'将成为过程(本地)引用环境的一部分。 它的范围扩展到整个过程体,除了具有自己的变量'a'的声明的块。在伪代码中(真实代码可以是例如c,perl,plsql):

proc xy
   local a;
   ...
   block
      local a;
      ...
   endblock
   ...
endproc

此示例仅用于说明目的,因为细节已被省略:它假定静态作用域,远离其他本地块的抽象,这些块也可能定义某些“a”以及访问“外部a”的特殊机制(即perl允许运行时访问整个符号表。)