【发布时间】:2013-09-25 20:19:10
【问题描述】:
换一种说法:如何获取函数环境的名称(而不是其封闭环境)。
我正在尝试将函数的结果分配给函数内的某个名称。该名称不应出现在 GlobalEnv 中。我仍然关心这个名字,因为我处理deparse(substitute(x)),因此需要理解这个名字。
目前我只是在函数内部创建一个环境,我觉得这是一种解决方法:
createList <- function(...,nm="nameString"){
myList <- list(...)
e1 <- new.env()
assign(nm,myList,envir=e1)
# obviously this does not make much sense
# just want to show that the envir thing works
e1[[nm]]
}
有什么方法可以更轻松地做到这一点吗?不是结果,而是将变量分配给某个名称
在一个函数里面。 environment(createList) 只是给我回了.GlobalEnv,函数本身所在的环境,但我想知道函数内部的变量所在的环境是如何调用的。.Private?
【问题讨论】:
-
"Is there any way to do this easier?"-- 最终目标是什么? -
第二个@RicardoSaporta,我怀疑其他人也会加入。
-
最终目标实际上是如何找到命名函数私有环境的哈希。不知道 environment() 没有参数。
标签: r private environment