Возможно, это дубликат, но я не смог найти подходящий вопрос.По сути, я хотел бы отправить сообщение a на консоль после некоторого условия и вернуть «ничто».Кроме того, я пытаюсь понять и понять, когда / если message()
возвращает NULL
:
foo_01 <- function(bar = NULL) {
if (is.null(bar)) {
message("Error: please provide a value for bar.")
return()
}
}
foo_02 <- function(bar = NULL) {
if (is.null(bar)) {
msg <- message("Error: please provide a value for bar.")
return(msg)
}
}
foo_03 <- function(bar = NULL) {
if (is.null(bar)) {
return(message("Error: please provide a value for bar."))
}
}
foo_01()
#> Error: please provide a value for bar.
#> NULL
foo_02()
#> Error: please provide a value for bar.
#> NULL
foo_03()
#> Error: please provide a value for bar.
Создано в 2019-07-09 пакетом представ. (v0.3.0)
- Желаемый результат будет
foo_03()
, но лучше ли это туда добраться? - Почему
foo_02()
иfoo_03
отличается? - Имеет ли значение
invisible
здесь?
Мне известно о stop()
, но я бы предпочел более "чистый" вывод из message()
.