I'd start looking at getAnywhere().

Best,
Uwe

On 10.10.2015 01:18, Henrik Bengtsson wrote:
Hi,

exists("foo", inherits=TRUE) check whether an object named "foo"
exists, and get("foo", inherits=TRUE) retrieves it.  I'm looking for a
similar function to exists() that returns the environment where the
object "foo" exists, iff at all.  If not found, NULL is returned.
Does that exist?

EXAMPLE #1:

sample2 <- base::sample
env <- where("sample2", inherits=TRUE)
env
<environment: R_GlobalEnv>

Note the difference to:

obj <- get("sample2", inherits=TRUE)
environment(obj)
<environment: namespace:base>


EXAMPLE #2:

a <- 1
foo <- function() { b <- 2; list(a=where("a", inherits=TRUE), b=where("b", 
inherits=TRUE)) }
foo()
$a
<environment: R_GlobalEnv>
$b
<environment: 0x000000000b7d2798>

foo()
$a
<environment: R_GlobalEnv>
$b
<environment: 0x000000000b7d23e0>


I do understand that I can implement such a function myself, but I
prefer not to.

Thanks,

Henrik

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to