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


R quit 終止 R 會話


R語言 quit 位於 base 包(package)。

說明

函數quit或其別名q終止當前的R會議。

用法

quit(save = "default", status = 0, runLast = TRUE)
   q(save = "default", status = 0, runLast = TRUE)

參數

save

指示是否應保存環境(工作空間)的字符串,為 "no""yes""ask""default" 之一。

status

要返回到操作係統的(數字)錯誤狀態(如果相關)。按照慣例,0 表示成功完成。

runLast

應該執行.Last()嗎?

細節

save 必須是 "no""yes""ask""default" 之一。在第一種情況下,工作區不會保存,在第二種情況下,工作區會被保存,在第三種情況下,係統會提示用戶,也可以決定不退出。默認設置是在交互式使用中詢問,但可能會被命令行參數覆蓋(必須在非交互式使用中提供)。

在正常終止之前,如果函數.Last存在並且runLast為真,則執行.Last()。如果在交互使用中.Last函數出現錯誤,控製權將返回到命令提示符,因此請徹底測試該函數。有一個係統模擬 .Last.sys() ,如果 runLast 為 true,則在 .Last() 之後運行。

終止時到底會發生什麽R會話取決於所使用的平台和 GUI 接口。典型的順序是運行.Last().Last.sys()(除非runLast為 false),根據請求保存工作區(並且在大多數情況下還保存會話曆史記錄:請參閱savehistory),然後運行任何終結器(請參閱reg.finalizer)已設置為在退出時運行,關閉所有打開的圖形設備,刪除會話臨時目錄並打印任何剩餘的警告(例如,來自.Last()和設備關閉)。

一些錯誤狀態值被使用R本身。非交互式使用的默認錯誤處理程序有效調用q("no", 1, FALSE)並返回錯誤狀態 1。錯誤狀態 2 用於R‘suicide’,即災難性故障,其他小數字被特定端口使用,用於初始化失敗。建議用戶選擇10個或以上的狀態。

status 的有效值取決於係統,但 0:255 通常有效。 (許多操作係統會報告該值的最後一個字節,即報告模 256 的值。但不是全部。)

警告

.Last 的值由最終用戶控製:由於它可以在會話中稍後替換,因此不能安全地以編程方式使用,例如通過一個包。將代碼設置為在會話結束時運行的另一種方法是使用終結器:請參閱 reg.finalizer

注意

macOS 上的 R.app GUI 有自己的這些函數版本,save 參數的行為略有不同(考慮了此操作的 GUI 的“啟動”首選項)。

例子

## Not run: ## Unix-flavour example
.Last <- function() {
  graphics.off() # close devices before printing
  cat("Now sending PDF graphics to the printer:\n")
  system("lpr Rplots.pdf")
  cat("bye bye...\n")
}
quit("yes")
## End(Not run)

參考

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

也可以看看

.First 用於在啟動時進行設置。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Terminate an R Session。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。