当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R browser 环境浏览器


R语言 browser 位于 base 包(package)。

说明

中断表达式的执行并允许检查调用 browser 的环境。

用法

browser(text = "", condition = NULL, expr = TRUE, skipCalls = 0L)

参数

text

调用浏览器后即可检索的文本字符串。

condition

调用浏览器后即可检索的条件。

expr

“condition”。默认情况下,只要强制为 logical 后不为 false,就会调用调试器,否则直接返回控制权。

skipCalls

报告调用上下文时要跳过多少个先前调用。

细节

调用browser可以包含在函数体中。当达到时,这会导致当前表达式的执行暂停并允许访问R口译员。

textcondition 参数的目的是允许帮助程序(例如外部调试器)在此处插入特定值,以便可以识别和特殊对浏览器的特定调用(可能是其在源文件中的位置)可以实现处理。可以通过调用 browserTextbrowserCondition 检索这些值。

expr 参数的目的是为了产生条件调试的假象。这是一种错觉,因为执行总是在调用浏览器时暂停,但只有在强制转换为逻辑后,如果 expr 不是 FALSE,控制权才会传递给下面说明的评估器。在大多数情况下,在调用程序中使用 if 语句会更有效,但在某些情况下,使用此参数会更简单。

browser() 调用嵌套在另一个调试函数中时,应使用 skipCalls 参数:它将进一步查找调用堆栈以报告其位置。

在浏览器提示符下,用户可以输入命令或R表达式,后跟换行符。命令是

c

退出浏览器并继续执行下一条语句。

cont

c 的同义词。

f

完成当前循环或函数的执行

help

打印此命令列表

n

评估下一条语句,跳过函数调用。对于由 browser 调用中断的字节编译函数, n 相当于 c

s

评估下一条语句,单步执行函数调用。同样,字节编译函数使 s 等同于 c

where

打印所有活动函数调用的堆栈跟踪。

r

调用一个"resume"如果可用则重新启动;解释为R否则表达。通常"resume"重新启动是为了从用户中断中继续进行而建立的。

Q

退出浏览器和当前评估并返回到顶级提示符。

除空行外,前导和尾随空白将被忽略。空行的处理取决于 "browserNLdisabled" option ;如果是 TRUE ,则忽略空行。如果不是,空行与 n 相同(或 s ,如果最近使用过)。

在浏览器提示符处输入的任何其他内容都将被解释为R要在调用环境中计算的表达式:特别是键入对象名称将导致打印该对象,并且ls()列出调用框架中的对象。 (如果你想查看一个具有如下名称的对象n,显式打印它,或者通过以下方式使用自动打印(n).

可以通过设置 options(deparse.max.lines) 来限制为解析调用打印的行数。

浏览器提示符的形式为Browse[n]>:这里var{n}表示“浏览器级别”。浏览器可以在浏览时调用(通常是在使用debug时),并且每次递归调用都会增加数量。 (实际数字是上下文堆栈上 ‘contexts’ 的数量:对于外部浏览级别,这通常是 2 ,在检查 debugger 中的转储时通常是 1 。)

这是一个原始函数,但以标准方式进行参数匹配。

参考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Chambers, J. M. (1998) Programming with Data. A Guide to the S Language. Springer.

也可以看看

debugtraceback 用于错误堆栈。 browserText 了解如何检索文本和条件。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Environment Browser。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。