给debug一个函数foo
在文件foo.R
foo <- function() {
a <- c(2, 3)
}
一个人可以写一个“驱动程序”文件
source("foo.R")
debug(f)
f()
对于同一范围内的许多此类功能,这可以简单地进行扩展。
在bar()
体内调试函数foo
有点单调乏味
foo <- function() {
bar <- function() {
a <- c(2, 3)
}
bar()
}
一个可以从相同的驱动程序文件(实际上是一个测试文件)开始,加载bar()
而不实际运行它,在调试提示符下键入debug(bar)
,然后运行bar()
。我想知道是否有更好的方法可以进行多次关闭。
有没有办法在驱动程序/测试文件中指定我想要调试内部函数bar
,这是debug(foo::bar)
的行?
R是否提供标准语法来引用内部函数(也就是嵌套函数,也就是闭包等)?
相关问题:
您可以将browser()
放在您想要调用器的位置:
foo <- function() {
print("In foo")
bar()
return(NULL)
}
bar <- function() {
print("In bar")
dash()
return(NULL)
}
dash <- function() {
print("In dash")
browser()
return(NULL)
}
foo()