obj_is_list {vctrs} | R Documentation |
List checks
Description
-
obj_is_list()
tests ifx
is considered a list in the vctrs sense. It returnsTRUE
if:-
x
is a bare list with no class. -
x
is a list explicitly inheriting from"list"
.
-
-
list_all_vectors()
takes a list and returnsTRUE
if all elements of that list are vectors. -
list_all_size()
takes a list and returnsTRUE
if all elements of that list have the samesize
. -
obj_check_list()
,list_check_all_vectors()
, andlist_check_all_size()
use the above functions, but throw a standardized and informative error if they returnFALSE
.
Usage
obj_is_list(x)
obj_check_list(x, ..., arg = caller_arg(x), call = caller_env())
list_all_vectors(x)
list_check_all_vectors(x, ..., arg = caller_arg(x), call = caller_env())
list_all_size(x, size)
list_check_all_size(x, size, ..., arg = caller_arg(x), call = caller_env())
Arguments
x |
For |
... |
These dots are for future extensions and must be empty. |
arg |
An argument name as a string. This argument will be mentioned in error messages as the input that is at the origin of a problem. |
call |
The execution environment of a currently
running function, e.g. |
size |
The size to check each element for. |
Details
Notably, data frames and S3 record style classes like POSIXlt are not considered lists.
See Also
Examples
obj_is_list(list())
obj_is_list(list_of(1))
obj_is_list(data.frame())
list_all_vectors(list(1, mtcars))
list_all_vectors(list(1, environment()))
list_all_size(list(1:2, 2:3), 2)
list_all_size(list(1:2, 2:4), 2)
# `list_`-prefixed functions assume a list:
try(list_all_vectors(environment()))