當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。