我在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
}
帮我实现这个目标
答案 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)
}