【发布时间】:2018-08-07 02:42:27
【问题描述】:
假设我有一个使用整数 i 循环的函数。现在出了点问题,我假设错误发生在i=5 时。现在我可以逐步完成每一步(到目前为止我所做的)。
但现在我读到了 browser 和 debug 的 condition 和 text 参数:
text 浏览器启动时可以检索到的文本字符串
condition 浏览器可以检索到的条件 已输入。
是否可以按照我想要的方式使用参数?
这是一个例子。调试器/浏览器仅应在达到i=5 后启动:
fun <- function(x, y, n) {
result <- 0
for (i in 1:n) {
# browser(condition = (i == 5)) # does not work
result <- result + i * ( x + y)
}
return(result)
}
x <- 2
y <- 3
n <- 10
# debug(fun, condition = (i == 5)) # does not work
debug(fun)
r <- fun(x, y, n)
print(r)
解决办法
if (i == 5) { # inside loop of fun()
browser()
}
正在工作,但我认为可能有更好的东西(函数内没有额外的代码)
【问题讨论】:
-
text和condition不用于确定您何时进入调试模式(浏览器),而是用于提供信息一旦您进入
标签: r debugging conditional-statements