【发布时间】:2013-02-20 09:35:20
【问题描述】:
如果作用域是变量可见的“地方”,并且 引用环境是点中可见的变量集 在程序中它们之间有区别吗?
例如here 表示“” 范围的反面是引用环境...""" 但我不太明白那个断言!
【问题讨论】:
标签: language-agnostic programming-languages
如果作用域是变量可见的“地方”,并且 引用环境是点中可见的变量集 在程序中它们之间有区别吗?
例如here 表示“” 范围的反面是引用环境...""" 但我不太明白那个断言!
【问题讨论】:
标签: language-agnostic programming-languages
我认为“converse”一词用词不当,更不用说对比两个本质上不同的类别,即(一组)变量和代码中可以访问所述变量的位置。 “补充”可能是更好的选择。
由于给出的原因,是的,有区别。
您引用的参考可能是为了赞美变量/参数屏蔽。考虑一些在过程本地声明的变量“a”。假设过程体的一部分是一个本地块,在该块中声明了另一个也称为“a”的变量。
第一个变量“a”将是过程(本地)引用环境的一部分。 它的范围扩展到整个过程主体,除了具有自己声明变量'a'的块。在伪代码中(真实世界的代码可以是例如 c、perl、plsql):
proc xy
local a;
...
block
local a;
...
endblock
...
endproc
此示例仅用于说明目的,因为省略了详细信息:它假定静态范围,从其他可能也定义一些“a”的本地块中抽象出来,以及访问“外部 a”的特殊机制(即 perl 允许运行时访问整个符号表)。
【讨论】: