[Rd] Trying to understand the search path and namespaces
Hadley Wickham
hadley at rice.edu
Tue Nov 16 01:51:09 CET 2010
> With a small risk of being incorrect (and the chance of learning
> something new), I'll give it a try:
>
> A search for a functions/objects/... that is not in the same package
> environment is done in the order that the search() path gives. The
> exception to this iff your package has a namespace, then the 'base'
> package environment is always searched first (before any other
> environments). The ordering of the search is important when there
> exist multiple package environments with the same function.
>
> Is that of any help?
Well, that's what I thought too. But:
parents <- function(x) {
if (identical(x, emptyenv())) return()
c(environmentName(x), parents(parent.env(x)))
}
> parents(as.environment("package:devtools"))
[1] "package:devtools" "package:methods" "Autoloads" "base"
And package:testthat isn't listed there. (But Autoloads is suggestive...)
Hadley
--
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/
More information about the R-devel
mailing list