grab_assignments_from_dots: Re-write captured '...' arguments as assignments.

View source: R/unpack.R

grab_assignments_from_dotsR Documentation

Re-write captured ... arguments as assignments.

Description

Re-write captured ... arguments as a c(DESTINATION = TARGET) character vector. Suggested capture code is: substitute(list(...)). Allows bquote .() substitution.

Usage

grab_assignments_from_dots(
  captured_args,
  unpack_environment = parent.frame(),
  allow_dot_on_left = FALSE
)

Arguments

captured_args

captured ....

unpack_environment

environment to look in

allow_dot_on_left

logical if TRUE allow forms like .(a) = a and .(a).

Value

named character vector describing the desired mapping.

Examples


f <- function(...) {
  unpack_environment <- parent.frame(n = 1)
  orig_args <- substitute(list(...))
  grab_assignments_from_dots(orig_args, unpack_environment)
}
f(a, c = d, e := f, g <- h, i -> j)
# should equal c('a', 'c' = 'd', 'e' = 'f', 'g' = 'h', 'j' = 'i')


WinVector/wrapr documentation built on Aug. 29, 2023, 4:51 a.m.