#' @export
ral_vector <- function(..., .data = NULL, .subclass = NULL, .meta = NULL) {
val <- if (is.null(.data)) {
list(...)
} else {
stopifnot(is.list(`.data`))
`.data`
}
class(val) <- c(.subclass, "ral_vector")
ral_meta_data <- if (!is.null(.meta) && inherits(.meta, "ral_map")) {
.meta
}
new_vctr(val, ral_meta_data = ral_meta_data, class = class(val), inherit_base_type = TRUE)
}
#' @export
set_meta_data.ral_vector <- function(x, val, envir = NULL) {
attr(x, "ral_meta_data") <- val
x
}
#' @export
meta_data.ral_vector <- function(x) {
attr(x, "ral_meta_data", exact = TRUE)
}
#' @export
#' @include format.R
format.ral_vector <- function(x, ...) {
paste0(
"[",
paste0(vapply(x, function(x) llr_format(x), character(1)), collapse = " "),
"]"
)
}
#' @export
#' @include format.R
print.ral_vector <- default_print
#' @export
vec_ptype2.ral_vector.list <- function(x, y, ...) {
ral_vector()
}
#' @export
vec_ptype2.list.ral_vector <- function(x, y, ...) {
ral_vector()
}
#' @export
vec_cast.character.llr_boolean <- function(x, to, ...) {
format(x)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.