Существует ли краткий универсальный способ проверки пропущенных аргументов в вызове функции через rlang
функциональность?
Мне не нравится часть rlang::call_frame()$env %>% as.list()
, но я не смог заставить что-либо работать, например, rlang::fn_fmls()
или rlang::call_args()
library(magrittr)
foo <- function(a, b) {
rlang::call_frame()$env %>%
as.list() %>%
purrr::map_lgl(rlang::is_missing)
}
foo()
#> a b
#> TRUE TRUE
foo(1)
#> a b
#> FALSE TRUE
foo(1, 2)
#> a b
#> FALSE FALSE
foo(b = 2)
#> a b
#> TRUE FALSE
Создано в 2019-01-14 пакетом представ (v0.2.1)