...
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.
Usage
check_dots_empty(
env = caller_env(),
error = NULL,
call = caller_env(),
action = abort
)
Arguments
- env
Environment in which to look for
...
.- error
An optional error handler passed to
try_fetch()
. Use this e.g. to demote an error into a warning.- call
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 thecall
argument ofabort()
for more information.- action
See also
Other dots checking functions:
check_dots_unnamed()
,
check_dots_used()
Examples
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