dictionary_sugar_inc_get: A Quick Way to Initialize Objects from Dictionaries with...

View source: R/dictionary_sugar.R

dictionary_sugar_inc_getR Documentation

A Quick Way to Initialize Objects from Dictionaries with Incremented ID

Description

Covenience wrapper around dictionary_sugar_get and dictionary_sugar_mget to allow easier avoidance of ID clashes which is useful when the same object is used multiple times and the ids have to be unique. Let ⁠<key>⁠ be the key of the object to retrieve. When passing the ⁠<key>_<n>⁠ to this function, where ⁠<n>⁠ is any natural number, the object with key ⁠<key>⁠ is retrieved and the suffix ⁠_<n>⁠ is appended to the id after the object is constructed.

Usage

dictionary_sugar_inc_get(dict, .key, ..., .dicts_suggest = NULL)

dictionary_sugar_inc_mget(dict, .keys, ..., .dicts_suggest = NULL)

Arguments

dict

(Dictionary)
Dictionary from which to retrieve an element.

.key

(character(1))
Key of the object to construct - possibly with a suffix of the form ⁠_<n>⁠ which will be appended to the id.

...

(any)
See description of dictionary_sugar.

.dicts_suggest

(named list) Named list of dictionaries used to look up suggestions for .key if .key does not exist in dict.

.keys

(character())
Keys of the objects to construct - possibly with suffixes of the form ⁠_<n>⁠ which will be appended to the ids.

Value

An element from the dictionary.

Examples

d = Dictionary$new()
d$add("a", R6::R6Class("A", public = list(id = "a")))
d$add("b", R6::R6Class("B", public = list(id = "c")))
obj1 = dictionary_sugar_inc_get(d, "a_1")
obj1$id

obj2 = dictionary_sugar_inc_get(d, "b_1")
obj2$id

objs = dictionary_sugar_inc_mget(d, c("a_10", "b_2"))
map(objs, "id")


mlr3misc documentation built on April 4, 2025, 1:51 a.m.