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