expand_list {pkgmaker} | R Documentation |
expand_list
expands a named list with a given set
of default items, if these are not already in the list,
partially matching their names.
expand_dots
expands the ...
arguments of
the function in which it is called with default values,
using expand_list
. It can only be called
from inside a function.
expand_list(x, ..., .exact = TRUE, .names = !.exact) expand_dots(..., .exclude = NULL)
x |
input list |
... |
extra named arguments defining the default items. A list of default values can also be passed as a a single unnamed argument. |
.exact |
logical that indicates if the names in
|
.names |
logical that only used when
|
.exclude |
optional character vector of argument names to exclude from expansion. |
a list
#---------- # expand_list #---------- expand_list(list(a=1, b=2), c=3) expand_list(list(a=1, b=2, c=4), c=3) # with a list expand_list(list(a=1, b=2), list(c=3, d=10)) # no partial match expand_list(list(a=1, b=2, c=5), cd=3) # partial match with names expanded expand_list(list(a=1, b=2, c=5), cd=3, .exact=FALSE) # partial match without expanding names expand_list(list(a=1, b=2, c=5), cd=3, .exact=FALSE, .names=FALSE) # works also inside a function to expand a call with default arguments f <- function(...){ cl <- match.call() expand_list(cl, list(a=3, b=4), .exact=FALSE) } f() f(c=1) f(a=2) f(c=1, a=2) #---------- # expand_dots #---------- # expanding dot arguments f <- function(...){ expand_dots(list(a=2, bcd='a', xxx=20), .exclude='xxx') } # add default value for all arguments f() # add default value for `bcd` only f(a=10) # expand names f(a=10, b=4)