errorist : celui qui s'accroche et propage l'erreur
— Merriam Webster
L’objectif d’ errorist
est de rechercher automatiquement les erreurs et les avertissements dès qu’ils surviennent.
Le package errorist
est disponible sur CRAN et GitHub. La version CRAN est considérée comme stable tandis que la version GitHub est en cours de développement et peut tomber en panne. Vous pouvez installer la version stable du package errorist
avec :
install.packages( " errorist " )
Pour la version de développement, vous pouvez opter pour :
if ( ! requireNamespace( " remotes " )) { install.packages( " remotes " ) }
remotes :: install_github( " coatless-rpkg/errorist " )
library( errorist )
Lorsque le package errorist
est chargé, deux gestionnaires sont automatiquement établis pour intercepter les messages d'erreur et d'avertissement qui surviennent lors de l'exécution du code. Les messages interceptés sont ensuite dirigés vers des moteurs de recherche prédéfinis sur Internet à l'aide du navigateur Web système préféré de l'utilisateur. Par défaut, le moteur de recherche utilisé pour rechercher les messages est Google.
Vous pouvez spécifier un autre gestionnaire de moteur de recherche en définissant les valeurs par défaut :
errorist.warning
: avertissement du portail du moteur de recherche. La valeur par défaut est searcher::search_google
.errorist.error
: Erreur sur le portail du moteur de recherche. La valeur par défaut est searcher::search_google
.errorist.autoload
: recherche automatiquement les erreurs. La valeur par défaut est TRUE
. Si une utilisation fréquente du package se produit, pensez à ajouter les différents gestionnaires de recherche en option dans votre .Rprofile
:
# Add custom options
.First <- function () {
options(
errorist.warning = searcher :: search_google ,
errorist.error = searcher :: search_google
)
}
# Load the package if in RStudio or R GUI
if (interactive()) {
suppressMessages(require( errorist ))
}
L'idée d' errorist
est venue d'une conversation entre Dirk Eddelbuettel, Barry Rowlingson et moi-même, réfléchissant à la possibilité pour les compilateurs de fournir un lien expliquant la signification de l'erreur et comment la résoudre. Cette conversation a germé en raison du surtexte de la souris dans XKCD Comic 1185 : Tris inefficaces.
StackSort se connecte à StackOverflow, recherche « trier une liste », puis télécharge et exécute des extraits de code jusqu'à ce que la liste soit triée.
Ce type de recherche de code a été implémenté par :
https://gkoberger.github.io/stacksort/
L'idée est passée de l'évaluation de morceaux de code aléatoires à la fourniture d'un support de recherche pour les erreurs survenues lors de l'exécution.
addTaskCallback()
comme moyen de créer un gestionnaire d'avertissement et pour une brève discussion sur les objets « appel ».last.warning
que R remplit avec des messages d'avertissement.GPL (>= 2)