dictionary_sugar_get_safe: A Quick Way to Initialize Objects from Dictionaries

View source: R/dictionary_sugar_safe.R

dictionary_sugar_get_safeR Documentation

A Quick Way to Initialize Objects from Dictionaries

Description

Given a Dictionary, retrieve objects with provided keys.

  • dictionary_sugar_get_safe() to retrieve a single object with key .key.

  • dictionary_sugar_mget_safe() to retrieve a list of objects with keys .keys.

  • If .key or .keys is missing, the dictionary itself is returned.

  • Dictionary getters without the ⁠_safe⁠ suffix are discouraged as this sometimes caused unintended partial argument matching.

Arguments in ... must be named and are consumed in the following order:

  1. All arguments whose names match the name of an argument of the constructor are passed to the ⁠$get()⁠ method of the Dictionary for construction.

  2. 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.

  3. All remaining arguments are assumed to be regular fields of the constructed R6 instance, and are assigned via <-.

Usage

dictionary_sugar_get_safe(.dict, .key, ...)

dictionary_sugar_mget_safe(.dict, .keys, ...)

Arguments

.dict

(Dictionary)
The dictionary from which to retrieve the elements.

.key

(character(1))
Key of the object to construct.

...

(any)
See description.

.keys

(character())
Keys of the objects to construct.

Value

R6::R6Class()

Examples

library(R6)
item = R6Class("Item", public = list(x = 0))
d = Dictionary$new()
d$add("key", item)
dictionary_sugar_get_safe(d, "key", x = 2)

mlr3misc documentation built on Sept. 20, 2023, 5:06 p.m.