2013-12-17 19 views
1

完成後R中的停止按鈕(或esc鍵)是否停止循環?R中的停止按鈕到底是做什麼的?

例如爲:

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

和我打停循環結束之前...將在重複結束時迴路斷線,還是會在中間突破?

有沒有人知道在哪裏可以找到關於此停止按鈕的文檔?

謝謝

+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 

的 'R爲Mac OS X常見問題解答' 說:「但是,如果執行的代碼不檢查中斷(使用`R_CheckUserInterrupt」 )可能無法阻止R.在這種情況下,可能值得警告包的維護者允許中斷(如果適用)。「

此搜索將讓你翻閱過賬R-devel的是提到的名字的內部機制:http://markmail.org/search/?q=list%3Aorg.r-project+R_CheckUserInterrupt