有什麼辦法可以無誤地停止R程序嗎?無誤地停止R程序
例如我有一個很大的來源,定義了幾個函數,之後有一些函數調用。碰巧我編輯了一些函數,並希望函數定義在R環境中更新,但實際上並沒有調用它們。
我定義了一個變量justUpdate
,並且當它是TRUE
想要停止剛纔函數定義之後的程序。
ReadInput <- function(...) ...
Analyze <- function(...) ...
WriteOutput <- function(...) ...
if (justUpdate)
stop()
# main body
x <- ReadInput()
y <- Analyze(x)
WriteOutput(y)
我呼籲stop()
功能,但問題是,它輸出錯誤消息。
CTRL +ç是另一種選擇,但我想停止在特定行的源代碼。
q()
或quit()
的問題是它終止了R會話,但我想讓R會話仍然打開。 @JoshuaUlrich提出browser()
如可以是另一種選擇,但還不夠完善,因爲源在新環境中終止(即將R提示會變爲Browser[1]>
而非>
)。我們仍然可以按Q
退出它,但我正在尋找直接的方法。
另一種選擇是使用if (! justUpdate) { main body }
但它解決了問題,而不是解決它。
有沒有更好的選擇?
你能詳細說明你正在做什麼,爲什麼?這可以幫助我們幫助你。 –
@joran我不想關閉所有的錯誤信息 – Ali
要麼1)把你的函數定義放在一個單獨的文件中(或者更好的是,一個包)從你的程序中更新, ;或2)使用'if(!justUpdate){...}'。我建議1)。你目前想要做的是一個令人困惑的方式來組織你的代碼。 –