Build a named list from a sequence of named arguments of the form NAME, or NAME = VALUE.
This is intended to shorten forms such as list(a = a, b = b)
to as_named_list(a, b)
.
as_named_list(...)
... | argument names (must be names, not strings or values) plus possible assigned values. |
---|
a named list mapping argument names to argument values
#> List of 2 #> $ a:'data.frame': 1 obs. of 1 variable: #> ..$ x: num 1 #> $ b: num 2as_named_list(a, x = b, c = 1 + 1)#> $a #> x #> 1 1 #> #> $x #> [1] 2 #> #> $c #> [1] 2 #># an example application for this function is managing saving and # loading values into the workspace. if(FALSE) { # remotes::install_github("WinVector/wrapr") library(wrapr) a <- 5 b <- 7 do_not_want <- 13 # save the elements of our workspace we want saveRDS(as_named_list(a, b), 'example_data.RDS') # clear values out of our workspace for the example rm(list = ls()) ls() # notice workspace environemnt now empty # read back while documenting what we expect to # read in unpack[a, b] <- readRDS('example_data.RDS') # confirm what we have, the extra unpack is a side # effect of the []<- notation. To avoid this instead # use one of: # unpack(readRDS('example_data.RDS'), a, b) # readRDS('example_data.RDS') %.>% unpack(., a, b) # readRDS('example_data.RDS') %.>% unpack[a, b] ls() # notice do_not_want is not present print(a) print(b) }