Я хотел бы иметь следующую общую функцию, которая
- проверяет разрешенные форматы (это работает),
- чем выполняет общую функцию, основанную на типе аргумента x (работает)
- оценивает операторы после вызова
UseMethod()
(не работает - как и ожидалось)
Теперь это указано в справке для UseMethod
Любые операторы после вызова UseMethod не будут оцениваться, поскольку UseMethod не возвращает значение.
Так что это не удивительно. Но есть ли способ добиться этого, помимо определения дополнительной функции validate_after()
, которая вызывает validate()
, за которой следует cat(“Validation completed”)
?
validate <- function (
x,
allowedFormats
) {
# Check arguments ---------------------------------------------------------
allowedFormats <- c("none", "html", "pdf", "word", "all")
if (!(report %in% allowedFormats)) {
stop("'report' has to be one of the following values: ", allowedFormats)
}
UseMethod("validate", x)
cat(“Validation completed”)
}