以下说明来自browser()帮助页面。
有谁可以给出更好的解释?什么被定义为“外部浏览水平”?是在函数中使用browser()
吗?
浏览器提示的格式为Browse [n]>:此处var {n}表示“浏览器级别”。浏览时可以调用浏览器(通常是在使用调试时),每次递归调用都会增加数量。 (实际数字是上下文堆栈中'contexts'的数量:对于外部浏览级别通常为2,在调试器中检查转储时为1。)
编辑:
fun <- function(x, y)
+ {
+ z <- x + y
+ browser()
+ a <- z^2
+ b <- sqrt(z)
+ }
> fun(5, 4)
Called from: fun(5, 4)
Browse[1]>
使用Browse[1]>
,我们可以查看z
,x
和y
值。当我点击Enter
时:
> fun <- function(x, y)
+ {
+ z <- x + y
+ browser()
+ a <- z^2
+ b <- sqrt(z)
+ }
> fun(5, 4)
Called from: fun(5, 4)
Browse[1]> x
[1] 5
Browse[1]> y
[1] 4
Browse[1]> z
[1] 9
Browse[1]>
debug at #5: a <- z^2
Browse[2]>
将Browser[1]
增加到Browser[2]
有什么好处?
答案 0 :(得分:1)
使用示例:
f1 <- function(x) { browser(); x <- 1 }
f2 <- function(x) { browser(); x <- 2 }
f3 <- function(x) { browser(); x <- 3 }
f1(5)
...在从命令行f1()
调用f2(7)
进行浏览时...
还可以使用调试器的命令,例如在提示符下键入 n 。