r - 何时/如何/何处解释默认参数中的 parent.frame?

标签 r environment

说实话,我只是在这里偷懒,但也许有一天有人可以从这里的答案中受益。

假设我定义了一个函数,如:

fn<-function(envir=parent.frame())
{
    #do something with envir
}

我的问题是:我可能期望 envir 的内容是什么?

上下文:我有一个相当长的函数 f1,其中包含对 parent.frame 的调用。现在,我想将该函数的一部分(包含 parent.frame 调用)提取到一个新的辅助函数 f2(然后由 f1 调用)中,并且我想确保 f1 的功能与以前相同。

最佳答案

评估默认参数 within the evaluation frame of the function call ,从哪个地方parent.frame()是调用环境。 envir因此,它的值将是指向 fn 所在环境的指针。被称为。

另外,请亲自尝试一下:

debug(fn)
fn()
# debugging in: fn()
# debug at #2: {
# }
Browse[2]> envir
# <environment: R_GlobalEnv>

关于r - 何时/如何/何处解释默认参数中的 parent.frame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15504960/

相关文章:

java - 从 R 中的 xgboost 创建的 pmml 模型导致与 R 中的原始模型不同的结果

xml - xpath 查询子集节点对

R 中的正则表达式 strsplit 表达式,因此它仅适用于每个字符串中特定字符的第一次出现?

ant - 指向新 Ant 的更改

java - Spring Boot - 环境@Autowired 抛出 NullPointerException

r - 将环境中的所有 ggplot2 图存储在列表中

r - 在堆积条形图中添加组之间的间距

r - 如何在 knit_child 中使用 envir 参数?

javascript - Nodenv 中的 x.x.x-rc Node.js 版本是什么?

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?