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


R on.exit 函數退出代碼


R語言 on.exit 位於 base 包(package)。

說明

on.exit 記錄作為其參數給出的表達式,當當前函數退出(自然退出或錯誤結果)時需要執行。這對於重置圖形參數或執行其他清理操作非常有用。

如果未提供表達式,即調用為 on.exit() ,則刪除當前的 on.exit 代碼。

用法

on.exit(expr = NULL, add = FALSE, after = TRUE)

參數

expr

要執行的表達式。

add

如果為 TRUE,則添加要在任何先前設置的表達式之後執行的 expr(如果 after 為 FALSE,則添加在之前);否則(默認)expr 將覆蓋任何先前設置的表達式。

after

如果 add 為 TRUE 並且 after 為 FALSE,則 expr 將添加到已注冊的表達式之上。產生的後進先出順序對於以相反順序釋放或關閉資源很有用。

細節

傳遞給 on.exitexpr 參數被記錄而不進行評估。如果它隨後沒有被同一函數中的另一個 on.exit 調用刪除/替換,則當函數退出時(包括在標準錯誤處理期間),它將在函數的求值框架中求值。因此,表達式中的任何函數或變量將在退出時在函數及其環境中查找:要捕獲 expr 中的當前值,請使用 substitute 或類似的方法。

如果使用 add = TRUE 設置多個 on.exit 表達式,則即使其中一個表達式發出錯誤信號,所有表達式都將運行。

這是一個 ‘special’ primitive 函數:它僅計算參數 addafter

看不見的NULL

例子

require(graphics)

opar <- par(mai = c(1,1,1,1))
on.exit(par(opar))

參考

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

也可以看看

sys.on.exit 返回存儲的表達式,供 on.exit() 在計算 sys.on.exit() 的函數中使用。

相關用法


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