領域またはバッファを評価している場合に、エラーが発生したポイントを超えてRまたはESSに残りのコードの実行を停止させる良い方法を誰かが知っているかどうか疑問に思っていました(私は、ヘルプ アーカイブ)。私は R ヘルプ ファイルを調べていましたがoption(error=stop)
、問題のある関数またはステートメントの実行のみを停止し、それに続くものは停止しません。ありがとう!
9060 次
3 に答える
12
Emacs/ESS が Cc Cc に応答しないほど R/ESS が計算時間を浪費している場合は、端末から INTERRUPT シグナルを送信することで節約することもできます。
top
最初:またはを使用して R のプロセス ID を把握しps
ます。(私の場合は 98490 でした。その後:
kill -2 98490
割り込み信号が送信され、ESS/Emacs と R セッションが返されます。
于 2009-11-16T19:38:23.027 に答える
5
ESSマニュアルによると、これは機能するはずです。
C-c C-c
(comint-interrupt-subjob)Control-C
ESSプロセスにシグナルを送信します。これには、現在のコマンドを中止する効果があります。
John Foxは、ESSの構成を提供するWebサイトを持っています。その中で、彼はこの機能を持っています:
(defun stop-R ()
"Interrupt R process in lower window."
(interactive)
(select-window win2)
(comint-interrupt-subjob)
(select-window win1))
以下を使用して、XEmacsのメニューにこの関数を追加できるはずです。
(defun R-menu ()
"Hook to install R menu and sub-menus"
(add-menu-item '("ESS" "R") "Interrupt computation" 'stop-R
)
)
(add-hook 'ess-mode-hook 'R-menu)
彼の構成ファイルとドキュメントの残りの部分をチェックして、興味があるかどうかを確認してください。私はまだこれを試していませんが、うまくいくことを願っています!
チャーリー
于 2009-09-26T08:14:28.577 に答える
2
?壊す
ループから抜け出すだけです。
?試す
失敗する可能性のあるコードをセットアップして、適切に回復できます。
于 2009-09-16T02:20:17.507 に答える