Je me demandais si quelqu'un connaissait un bon moyen d'obtenir R ou ESS pour arrêter l'exécution du reste du code au-delà du point où une erreur se produit si j'évalue une région ou un tampon (I J'ai seulement trouvé la demande contraire dans les archives d'aide). Je regardais dans les fichiers d'aide R, mais option(error=stop)
arrêtera seulement l'exécution de la fonction ou de l'instruction incriminée, mais pas ceux qui la suivent. Merci!Forcer l'arrêt ou arrêter l'erreur
Répondre
? Break
Seulement vous sort de la boucle.
? Essayer
Permet de mettre en place un code qui peut échouer et rétablir leur fonctionnement normal.
According to the ESS manual, cela devrait fonctionner: C-c C-c
(COMINT-interruption subjob) envoie un signal Control-C
au processus ESS. Cela a pour effet d'annuler la commande en cours.
John Fox a un site Web où il propose une configuration pour ESS. Dans ce document, il a cette fonction:
(defun stop-R()
"Interrupt R process in lower window."
(interactive)
(select-window win2)
(comint-interrupt-subjob)
(select-window win1))
Vous devriez être en mesure d'ajouter cette fonction au menu XEmacs en utilisant:
(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)
Vous pouvez vérifier le reste de son fichier de configuration et de documentation pour voyez si cela vous intéresse. Je n'ai pas encore essayé, mais j'espère que cela fonctionne pour vous!
Charlie
Merci Charlie - Je suis familier avec Cc Cc mais c'est pour manuellement arrêt d'un processus en cours, sans tenir compte des erreurs (si je comprends bien) Je peux me pencher sur la modification de eval-region ou eval-buffer pour appeler cette fonction lorsqu'une erreur se produit ... – hatmatrix
Si R/ESS accapare tellement de temps de calcul que vos emacs/ESS ne répond pas à C-c C-c, vous pouvez aussi l'enregistrer en envoyant un signal d'interruption du terminal.
Premièrement: calculez l'ID de processus de R en utilisant top
ou ps
. (Le mien était 98490 Puis: kill -2 98490
qui envoie un signal d'interruption et vous obtenez votre ESS/Emacs et la session R Retour
- 1. QTP Web Extensibilty - Comment forcer QTP à arrêter l'exécution du test
- 2. Arrêter le navigateur pour forcer l'élément de formulaire dans la vue de la fenêtre
- 3. retarder ou arrêter le chargement des annonces google
- 4. dois-je fermer() un son ou arrêter() le canal? (AS3)
- 5. Silverlight: forcer le canevas à s'annuler ou à se repeindre?
- 6. Arrêter caractère générique implicite dans Directory.GetFiles()
- 7. Arrêter Linq2SQL en utilisant des tuyaux nommés?
- 8. arrêter l'événement kernell32
- 9. Arrêter gracieusement NSXMLParser?
- 10. Forcer CSS Recache
- 11. arrêter un disque dur
- 12. EHCache Désactiver/Arrêter
- 13. Arrêter l'encapsulation avec NSLayoutManager
- 14. Comment arrêter l'événement NStimer?
- 15. jquery fadein arrêter
- 16. Flex. Arrêter le film
- 17. Comment arrêter un NSInvocationOperation?
- 18. Comment arrêter cherrypy de l'intérieur?
- 19. Forcer l'orientation UIView/UIVIewController
- 20. Forcer l'arrêt de l'iPhone
- 21. Forcer une itération d'une boucle
- 22. Comment arrêter l'exécution du script?
- 23. Arrêter les contrôles d'être peints
- 24. Arrêter une publication en javascript
- 25. Comment arrêter le postback indésirable
- 26. Puis-je arrêter un IIS?
- 27. Arrêter proprement une application ATL
- 28. arrêter le son dans l'iPhone
- 29. comment arrêter onChange en javascript
- 30. Arrêter Effect.ScrollTo() pendant le défilement?
Merci, mais lorsque l'on travaille de manière interactive, je ne veux pas envelopper la ligne ou la région essayer() ou tryCatch() à chaque fois, mais je suppose que cela le ferait techniquement ... – hatmatrix
Salut crippledlambda Avez-vous trouvé une solution pour votre problème en attendant? – giordano