1.2.2 命名空间

Keywords:

Previous: Search paths,Up: Environments and variable lookup

1.2.2 命名空间

命名空间是和包相关的环境(当然,基础包是特定的而且会被单独考虑)。拥有命名空间的包 pkg定义了环境namespace:pkgpackage:pkg:正是package:pkg 可以被绑定(attach)并且形成搜索路径的一部分。

R 代码在包里面定义的对象是拥有 namespace:pkg 环境的符号。package:pkg 环境拥有从 namespace:pkg 环境(输出)选定的符号。该环境的闭包是一个用于放置来自其它命名空间的外在输入,而另外一个环境就是基础命名空间。(因此,在命名空间环境里面的输入物的映像是通过环境树(environment tree)创建的)。基础命名空间的闭包是全局环境,所以从一个包的命名空间开始的搜索通过输入(显示的或者暗含的)进入标准的`搜索路径'的。

基础命名空间环境 R_BaseNamespace 是另外一个特别定义的ENVSXP。它和基础环境 R_BaseEnv是同一个东西,除了它的闭包是一个全局环境而不是空环境:内置代码把查找从自身框架转向全局的符号表。

Hits:Loading...

special topic