...
can be inserted in a function signature to force users to
fully name the details arguments. In this case, supplying data in
...
is almost always a programming error. This function checks
that ...
is empty and fails otherwise.
check_dots_empty(
env = caller_env(),
error = NULL,
call = caller_env(),
action = abort
)
Environment in which to look for ...
.
An optional error handler passed to try_fetch()
. Use
this e.g. to demote an error into a warning.
The execution environment of a currently
running function, e.g. caller_env()
. The function will be
mentioned in error messages as the source of the error. See the
call
argument of abort()
for more information.
Other dots checking functions:
check_dots_unnamed()
,
check_dots_used()
f <- function(x, ..., foofy = 8) {
check_dots_empty()
x + foofy
}
# This fails because `foofy` can't be matched positionally
try(f(1, 4))
#> Error in f(1, 4) : `...` must be empty.
#> ✖ Problematic argument:
#> • ..1 = 4
#> ℹ Did you forget to name an argument?
# This fails because `foofy` can't be matched partially by name
try(f(1, foof = 4))
#> Error in f(1, foof = 4) : `...` must be empty.
#> ✖ Problematic argument:
#> • foof = 4
# Thanks to `...`, it must be matched exactly
f(1, foofy = 4)
#> [1] 5