Checks whether an argument has a specified length.
Usage
arg_length(x, len = 1L, .arg = rlang::caller_arg(x), .msg = NULL, .call)Arguments
- x
the argument to be checked
- len
integer; the allowed length(s) ofx. Default is 1.- .arg
the name of the argument supplied to
xto appear in error messages. The default is to extract the argument's name usingrlang::caller_arg(). Ignored if.msgis supplied.- .msg
an optional alternative message to display if an error is thrown instead of the default message.
- .call
the execution environment of a currently running function, e.g.
.call = rlang::current_env(). The corresponding function call is retrieved and mentioned in error messages as the source of the error. Passed toerr(). Set toNULLto omit call information. The default is to search along the call stack for the first user-facing function in another package, if any.
Details
len can contain multiple allowed counts; an error will be thrown only if length(x) is not equal to any value of len.
See also
length(), arg_non_null() to specifically test that an object's length is or is not 0.
Examples
obj <- 1:4
try(arg_length(obj, 1))
#> Error : `obj` must have length 1.
try(arg_length(obj, 4))
try(arg_length(obj, c(1, 4)))
# These test the same thing:
try(arg_length(obj, c(0:3)))
#> Error : `obj` must have length 0, 1, 2, or 3.
try(when_not_null(obj,
arg_length(1:3)))
#> Error : When `obj` is not NULL, `obj` must have length 1, 2, or 3.