Dictionary {mlr3misc}R Documentation

Key-Value Storage

Description

A key-value store for R6::R6 objects. On retrieval of an object, the following applies:

Default argument required for construction can be stored alongside their constructors by passing them to ⁠$add()⁠.

S3 methods

Public fields

items

(environment())
Stores the items of the dictionary

Methods

Public methods


Method new()

Construct a new Dictionary.

Usage
Dictionary$new()

Method format()

Format object as simple string.

Usage
Dictionary$format(...)
Arguments
...

(ignored).


Method print()

Print object.

Usage
Dictionary$print()

Method keys()

Returns all keys which comply to the regular expression pattern. If pattern is NULL (default), all keys are returned.

Usage
Dictionary$keys(pattern = NULL)
Arguments
pattern

(character(1)).

Returns

character() of keys.


Method has()

Returns a logical vector with TRUE at its i-th position if the i-th key exists.

Usage
Dictionary$has(keys)
Arguments
keys

(character()).

Returns

logical().


Method get()

Retrieves object with key key from the dictionary. Additional arguments must be named and are passed to the constructor of the stored object.

Usage
Dictionary$get(key, ..., .prototype = FALSE)
Arguments
key

(character(1)).

...

(any)
Passed down to constructor.

.prototype

(logical(1))
Whether to construct a prototype object.

Returns

Object with corresponding key.


Method mget()

Returns objects with keys keys in a list named with keys. Additional arguments must be named and are passed to the constructors of the stored objects.

Usage
Dictionary$mget(keys, ...)
Arguments
keys

(character()).

...

(any)
Passed down to constructor.

Returns

Named list() of objects with corresponding keys.


Method add()

Adds object value to the dictionary with key key, potentially overwriting a previously stored item. Additional arguments in ... must be named and are passed as default arguments to value during construction.

Usage
Dictionary$add(key, value, ..., .prototype_args = list())
Arguments
key

(character(1)).

value

(any).

...

(any)
Passed down to constructor.

.prototype_args

(list())
List of arguments to construct a prototype object. Can be used when objects have construction arguments without defaults.

Returns

Dictionary.


Method remove()

Removes objects with from the dictionary.

Usage
Dictionary$remove(keys)
Arguments
keys

(character())
Keys of objects to remove.

Returns

Dictionary.


Method prototype_args()

Returns the arguments required to construct a simple prototype of the object.

Usage
Dictionary$prototype_args(key)
Arguments
key

(character(1))
Key of object to query for required arguments.

Returns

list() of prototype arguments


Method clone()

The objects of this class are cloneable with this method.

Usage
Dictionary$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

library(R6)
item1 = R6Class("Item", public = list(x = 1))
item2 = R6Class("Item", public = list(x = 2))
d = Dictionary$new()
d$add("a", item1)
d$add("b", item2)
d$add("c", item1$new())
d$keys()
d$get("a")
d$mget(c("a", "b"))

[Package mlr3misc version 0.15.1 Index]