如何退出R中的脚本

时间:2017-08-16 12:10:24

标签: r

我有这样的功能

Squ <- function(x, expected.result){
result <- x*x
  if(result != expected.result){
    stop("We have some error /n/n")
    return(NULL)
  }
  return(result)
}

我跑到三行以下。

Squ(2, 4)
Squ(3, 7)
Squ(4, 16)

理想情况下,我希望这个脚本将在第二行停止,即 Squ(3,7),就好像条件在函数中为真但它没有停止&amp;完全运行脚本。如果条件满足,如何编写脚本以停止。

谢谢, 摩尼

1 个答案:

答案 0 :(得分:0)

通常情况下,以交互方式运行R代码意味着即使出现错误,您也会继续运行新的代码行。如果您希望代码在出现任何类型的错误时立即停止,则应将调用包装在函数中Squ。如果要保存每个测试的值,则必须编辑该函数,但看起来您已经知道每个值应该是什么,并且您正在尝试查找第一个错误。使用函数将为您提供第一条错误消息,然后暂停执行。

test_Squ <- function() {
    Squ(2, 4)
    Squ(3, 7)
    Squ(4, 16)
    print("All code ran without throwing an error")
}

test_Squ()
# Error in Squ(3, 7) : We have some error /n/n

如果您有更具体的用例,请告诉我,我会编辑我的答案。