
A Quick Way to Initialize Objects from Dictionaries
Source:R/dictionary_sugar.R
dictionary_sugar_get.RdGiven 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
.keyor.keysis 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.keyif.keydoes 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