Errorista : alguien que sostiene y propaga el error.
- Merriam Webster
El objetivo de errorist
es buscar automáticamente errores y advertencias en el momento en que surgen.
El paquete errorist
está disponible tanto en CRAN como en GitHub. La versión CRAN se considera estable, mientras que la versión GitHub está en estado de desarrollo y puede fallar. Puedes instalar la versión estable del paquete errorist
con:
install.packages( " errorist " )
Para la versión de desarrollo, puedes optar por:
if ( ! requireNamespace( " remotes " )) { install.packages( " remotes " ) }
remotes :: install_github( " coatless-rpkg/errorist " )
library( errorist )
Cuando se carga el paquete errorist
, se establecen automáticamente dos controladores para interceptar los mensajes de error y advertencia que surgen durante la ejecución del código. Los mensajes interceptados se dirigen luego a motores de búsqueda preespecificados en Internet utilizando el navegador web del sistema preferido del usuario. Por defecto, el motor de búsqueda utilizado para consultar los mensajes es Google.
Puede especificar un controlador de motor de búsqueda diferente estableciendo valores predeterminados:
errorist.warning
: Advertencia del portal del motor de búsqueda. El valor predeterminado es searcher::search_google
.errorist.error
: Error en el portal del motor de búsqueda. El valor predeterminado es searcher::search_google
.errorist.autoload
: busca errores automáticamente. El valor predeterminado es TRUE
. Si se produce un uso frecuente del paquete, considere agregar los diferentes controladores de búsqueda como una opción en su .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 ))
}
La idea de errorist
surgió de una conversación entre Dirk Eddelbuettel, Barry Rowlingson y yo, reflexionando sobre la posibilidad de que los compiladores proporcionaran un enlace que explicara qué significaba el error y cómo resolverlo. Esta conversación surgió debido al sobretexto del mouse de XKCD Comic 1185: Tipos inefectivos.
StackSort se conecta a StackOverflow, busca "ordenar una lista" y descarga y ejecuta fragmentos de código hasta que se ordena la lista.
Este tipo de búsqueda de código fue implementado por:
https://gkoberger.github.io/stacksort/
La idea pasó de evaluar fragmentos de código aleatorios a brindar soporte de búsqueda para errores que ocurrieron en tiempo de ejecución.
addTaskCallback()
como una forma de crear un controlador de advertencia y por una breve discusión sobre los objetos de "llamada".last.warning
que R completa con mensajes de advertencia.GPL (>= 2)