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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。