【问题标题】:On referencing environment and scope关于引用环境和范围
【发布时间】:2013-02-20 09:35:20
【问题描述】:

如果作用域是变量可见的“地方”,并且 引用环境是点中可见的变量集 在程序中它们之间有区别吗?

例如here 表示“” 范围的反面是引用环境...""" 但我不太明白那个断言!

【问题讨论】:

    标签: language-agnostic programming-languages


    【解决方案1】:

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

    由于给出的原因,是的,有区别。

    您引用的参考可能是为了赞美变量/参数屏蔽。考虑一些在过程本地声明的变量“a”。假设过程体的一部分是一个本地块,在该块中声明了另一个也称为“a”的变量。

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

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

    此示例仅用于说明目的,因为省略了详细信息:它假定静态范围,从其他可能也定义一些“a”的本地块中抽象出来,以及访问“外部 a”的特殊机制(即 perl 允许运行时访问整个符号表)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 2022-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多