Я пытаюсь использовать следующий код glue
для создания информативного сообщения об ошибке
library(rlang)
library(glue)
my_function <- function(x) {
UseMethod("my_function", x)
}
my_function.default <- function(x) {
abort(glue(
"Can't calculate my_function because { deparse(substitute(x)) } is of type ",
glue_collapse(class(x))
))
}
Используя этот список тестов, мы видим, что он работает:
test <- list(
x = c(1,2,3),
y = c("one", "two", "three")
)
my_function(test[[1]])
Error: Can't calculate my_function because test[[1]] is of type numeric
Run `rlang::last_error()` to see where the error occurred.
Но возможно ли использовать glue
для возврата ошибки x
, где написано test[[1]]
, что приводит к ошибке:
Can't calculate my_function because x is of type numeric