【发布时间】:2021-12-29 09:41:15
【问题描述】:
我想调试来自不同环境的函数,而不是我调用 trace() 或 debug() 的环境,但我不知道如何引用这些函数。
fun1 <- function() {
a <- 1
a
}
fun2 <- function() {
fun1 <- function(){
b <- 2
b
}
trace(fun1, browser, where = globalenv())
}
fun1()
fun2()
fun1()
上面我已经准备了示例,在子环境中我调用trace() 并希望将browser() 插入父环境中定义的函数中(在我的示例中 - 全局环境,但我正在寻找解决方案考虑到任何父环境)。
但是,在我的示例中,browser() 被插入到 fun1() 中,b 作为局部变量,所以不是我想要的函数。
总结一下:
- 如何使用
trace()从任何父环境引用函数?祖父母、祖父母等也是如此。 - 是否也可以在父环境中引用 child 环境中的函数?如果是,该怎么做?
【问题讨论】:
标签: r