1.2.1 搜索路径

Keywords:

Next: ,Previous: Environments and variable lookup,Up: Environments and variable lookup

1.2.1 搜索路径

S 有一个叫 `搜索路径'(search path)的概念:一个`变量'的查找会通向(可能通过一系列的框架)`会话框架',`工作目录',然后是搜索路径。搜索路径是一系列含有系统函数的数据库(如search()返回的结果)。其中,系统函数在路径末端不是必须的,因为默认状态下,包的等价物会被加载末端。

R在搜索路径上和S有不同之处的。R的搜索路径(也是通过search()返回的)先包括全局环境(就是用户工作空间),随后是被绑定的环境,最后是基础环境。注意,和 S 不同的是,它不可能在工作空间之前或基础环境之后绑定环境的。

但是,变量查找的概念在R里面更加通用,因此,本小节的标题里面使用复数1。既然环境有闭包,从任何环境开始,通过查看它的框架,它的闭包等的框架创建搜索路径。由于死循环式不允许的,这个过程最终都会停掉的:在 R 2.2.0 之前,它总是在基础环境时停掉,但现在它既可以在基础环境也可以在空环境时停掉。(总是在空环境时停掉在概念上比较简单,但在基础环境时候停掉则性能上比较优化的策略)。因此`搜索路径'描述的是搜索达到全局环境时采用的环境链表。


Footnotes

[1] 指的是`Search paths'

Hits:Loading...

special topic