获取、设置、测试和创建环境。
environment(fun = NULL)
environment(fun)
is.environment(x)
.GlobalEnv
globalenv()
.BaseNamespaceEnv
emptyenv()
baseenv()
new.env(hash = TRUE, parent = parent.frame(), size = 29L)
parent.env(env)
parent.env(env)
environmentName(env)
env.profile(env)
fun : 函数、公式或默认值。
value : 与函数关联的环境
x : 任意的R对象。
hash : 逻辑上,如果为TRUE,则环境将使用哈希表。
parent : 用作所创建环境的外壳的环境。
env : 环境
size : 指定hashedenvironment的初始大小的整数。如果大小为NA或零,则使用内部默认值。如果hash为FALSE,则忽略此参数。
f < - function() "top level function"
##-- all three give the same:
environment()
environment(f)
.GlobalEnv
ls(envir = environment(stats::approxfun(1:2, 1:2, method = "const")))
is.environment(.GlobalEnv) # TRUE
e1 < - new.env(parent = baseenv()) # this one has enclosure package:base.
e2 < - new.env(parent = e1)
assign("a", 3, envir = e1)
ls(e1)
ls(e2)
exists("a", envir = e2) # this succeeds by inheritance
exists("a", envir = e2, inherits = FALSE)
exists("+", envir = e2) # this succeeds by inheritance
eh < - new.env(hash = TRUE, size = NA)
with(env.profile(eh), stopifnot(size == length(counts)))