A Quick Way to Initialize Objects from Dictionaries
Source:R/dictionary_sugar.R
dictionary_sugar_get.Rd
Given a Dictionary, retrieve objects with provided keys.
dictionary_sugar_get()
to retrieve a single object with key.key
.dictionary_sugar_mget()
to retrieve a list of objects with keys.keys
.dictionary_sugar()
is deprecated in favor ofdictionary_sugar_get()
.If
.key
or.keys
is missing, the dictionary itself is returned.
Arguments in ...
must be named and are consumed in the following order:
All arguments whose names match the name of an argument of the constructor are passed to the
$get()
method of the Dictionary for construction.All arguments whose names match the name of a parameter of the paradox::ParamSet of the constructed object are set as parameters. If there is no paradox::ParamSet in
obj$param_set
, this step is skipped.All remaining arguments are assumed to be regular fields of the constructed R6 instance, and are assigned via
<-
.
Usage
dictionary_sugar_get(dict, .key, ..., .dicts_suggest = NULL)
dictionary_sugar(dict, .key, ..., .dicts_suggest = NULL)
dictionary_sugar_mget(dict, .keys, ..., .dicts_suggest = NULL)
Arguments
- dict
(Dictionary).
- .key
(
character(1)
)
Key of the object to construct.- ...
(
any
)
See description.- .dicts_suggest
(named
list
) Named list of dictionaries used to look up suggestions for.key
if.key
does not exist indict
.- .keys
(
character()
)
Keys of the objects to construct.
Examples
library(R6)
item = R6Class("Item", public = list(x = 0))
d = Dictionary$new()
d$add("key", item)
dictionary_sugar_get(d, "key", x = 2)
#> <Item>
#> Public:
#> clone: function (deep = FALSE)
#> x: 2