R: 'list_of' S3 class for homogenous lists

list_of {vctrs} | R Documentation

## `list_of` S3 class for homogenous lists

### Description

A `list_of` object is a list where each element has the same type. Modifying the list with `$`, `[`, and `[[` preserves the constraint by coercing all input items.

### Usage

    list_of(..., .ptype = NULL)

    as_list_of(x, ...)

    validate_list_of(x)

    is_list_of(x)

    ## S3 method for class 'vctrs_list_of'
    vec_ptype2(x, y, ..., x_arg = "", y_arg = "")

    ## S3 method for class 'vctrs_list_of'
    vec_cast(x, to, ...)

### Arguments

`...` | Vectors to coerce.
`.ptype` | If `NULL`, the default, the output type is determined by computing the common type across all elements of `...`. Alternatively, you can supply `.ptype` to give the output known type. If `getOption("vctrs.no_guessing")` is `TRUE` you must supply this value: this is a convenient way to make production code demand fixed types.
`x` | For `as_list_of()`, a vector to be coerced to list_of.
`y, to` | Arguments to `vec_ptype2()` and `vec_cast()`.
`x_arg` | Argument names for `x` and `y`. These are used in error messages to inform the user about the locations of incompatible types (see `stop_incompatible_type()`).
`y_arg` | Argument names for `x` and `y`. These are used in error messages to inform the user about the locations of incompatible types (see `stop_incompatible_type()`).

### Details

Unlike regular lists, setting a list element to `NULL` using `[[` does not remove it.

### Examples

    x <- list_of(1:3, 5:6, 10:15)
    if (requireNamespace("tibble", quietly = TRUE)) {
      tibble::tibble(x = x)
    }

    vec_c(list_of(1, 2), list_of(FALSE, TRUE))

[Package vctrs version 0.3.2 Index]