1.2.2 命名空间
Previous: Search paths,Up: Environments and variable lookup
1.2.2 命名空间
命名空间是和包相关的环境(当然,基础包是特定的而且会被单独考虑)。拥有命名空间的包 pkg定义了环境namespace:pkg 和 package:pkg:正是package:pkg 可以被绑定(attach)并且形成搜索路径的一部分。
R 代码在包里面定义的对象是拥有 namespace:pkg 环境的符号。package:pkg 环境拥有从 namespace:pkg 环境(输出)选定的符号。该环境的闭包是一个用于放置来自其它命名空间的外在输入,而另外一个环境就是基础命名空间。(因此,在命名空间环境里面的输入物的映像是通过环境树(environment tree)创建的)。基础命名空间的闭包是全局环境,所以从一个包的命名空间开始的搜索通过输入(显示的或者暗含的)进入标准的`搜索路径'的。
基础命名空间环境 R_BaseNamespace 是另外一个特别定义的ENVSXP。它和基础环境 R_BaseEnv是同一个东西,除了它的闭包是一个全局环境而不是空环境:内置代码把查找从自身框架转向全局的符号表。
Hits:Loading...
- Previous Page: 1.2.1 搜索路径
- Next Page: 1.3 属性
