R中的停止按钮究竟是做什么的?

时间:2013-12-17 21:26:42

标签: r

R中的停止按钮(或esc键)是否在完成后停止循环?

e.g:

x=1:100
i=2
repeat{
     x[i]=x[i]+3
     x[i-1]=x[i]+1
     i=i+1
     if(i>100){break}
}

我在循环结束前点击停止...循环会在重复结束时中断,还是会在中间中断?

有谁知道在这个停止按钮上找到文档的位置?

由于

1 个答案:

答案 0 :(得分:2)

“停止按钮”实际上是一个GUI功能,因此应该查阅其文档。键盘ctrl-C或'esc-key'也应该这样做。我所看到的评论对于中断处理的时间非常不确定。它说的是:“编写良好的代码会及时处理中断。”

> x=1:1000000
> i=2
> repeat{
+      x[i]=x[i]+3
+      x[i-1]=x[i]+1
+      i=i+1
+      if(i>length(x)){break} } # esc key hit promptly
> i
[1] 15128

您应该阅读以下网址的帮助页面:

?conditions

'Mac OS X常见问题解答'说:“但是,如果执行的代码没有检查中断(使用`R_CheckUserInterrupt'),则可能无法停止R.在这种情况下,可能值得警告包的维护者允许中断(如果适用)。“

通过此搜索,您可以将帖子分页到R-devel,并按名称提及内部机制:http://markmail.org/search/?q=list%3Aorg.r-project+R_CheckUserInterrupt