如果范围是"地点"变量可见的地方 引用环境是一个点中可见的变量集 在一个程序中它们之间有区别吗?
例如here被称为""" 范围的反面是引用环境......""" 但是我不太了解这个断言!
答案 0 :(得分:0)
我认为“converse”这个词用词不当,更不用说对比两个实质上不同的类别,即代码中的(一组)变量和位置,可以访问所述变量。 “补充”可能是更好的选择。
由于给出的原因,是的,存在差异。
你引用probaly想要引用的引用是变量/参数掩码。考虑一个过程声明的变量'a'。假设过程体的一部分是一个块本地块,另一个名为“a”的变量被声明为。
第一个变量'a'将成为过程(本地)引用环境的一部分。 它的范围扩展到整个过程体,除了具有自己的变量'a'的声明的块。在伪代码中(真实代码可以是例如c,perl,plsql):
proc xy
local a;
...
block
local a;
...
endblock
...
endproc
此示例仅用于说明目的,因为细节已被省略:它假定静态作用域,远离其他本地块的抽象,这些块也可能定义某些“a”以及访问“外部a”的特殊机制(即perl允许运行时访问整个符号表。)