如何在R中退出(0)?

时间:2017-06-24 01:42:37

标签: r exit

我在RStudio工作,当需要满足特定条件时,我需要从函数内部退出代码(但不是RStudio会话)。按键。在C / c ++中,我们使用exit(0)函数来做到这一点。在R中,如果我调用quit(),它会尝试为我关闭整个R会话,但我只需要停止从我的函数内部执行当前编码。

即。我正在寻找下面的功能,这会导致程序退出,当用户输入“q”时。

 f <- function() {  
    if (readline("Press 'q' to exit the code: ") == 'q') 
       #I want to terminate the execution of program here
   else 
        #continue the execution of other set of commands
 }

帮我实现这个目标

1 个答案:

答案 0 :(得分:5)

这是定制的退出功能,看看是否有帮助

exit <- function() {
  .Internal(.invokeRestart(list(NULL, NULL), NULL))
                   }    
f <- function() {  
        if (readline("Press 'q' to exit the code: ") == 'q') 
           exit()

        return (1)
                }

或者还有另一种方法,你可以简单地停止执行,

f <- function() {  
        if (readline("Press 'q' to exit the code: ") == 'q') 
                 stop("Stopping")
        return (1)
            }

和一种停止执行的新手方式,(不可取)

         f <- function() {  
        if (readline("Press 'q' to exit the code: ") == 'q') 
                     try{x=0/0}catch{}
          return (1)
        }