在退出闪亮的应用程序之前删除全局环境中的变量

时间:2015-10-26 02:57:12

标签: r shiny

对于我正在制作的Shiny应用程序,我必须在全局环境中定义一些变量,因为它们需要在这里和那里可用于许多函数。其中一些变量不存在,并且在用户与应用程序交互时创建。该应用程序将检查变量是否存在,如果它们不存在,则必须执行某些操作。但是,在一次使用之后,变量就会存在并留在全球环境中。当用户再次启动应用程序时,应用程序会在全局环境中看到变量,因此它的行为方式应该是不应该的行为。有没有办法可以在用户选择终止应用程序之前删除我创建的变量?任何帮助都非常感谢。

2 个答案:

答案 0 :(得分:0)

使用onStop函数的有效解决方案如下:

onStop(function() cat("Session stopped\n"))

linked documentation建议在server函数中使用它。

答案 1 :(得分:-1)

使用on.exit退出时创建要清理的函数。 on.exit将给出的表达式记录为当前函数退出时需要执行的(自然地或作为错误的结果)。这对于重置图形参数或执行其他清理操作非常有用。

on.exit(rm(list= list(myListOfThings)))