Dynamically handles metadata assignment and extraction in a similar fashion for both S3 and S4 objects.

metadata2(x, which, ...)

metadata2(x, which, ...) <- value

Arguments

x

Object.

which

character(1). A non-empty character string specifying which attribute is to be accessed. Note that positional numeric arguments are currently not allowed.

...

Additional arguments.

value

ANY. Metadata values to assign into slot, defined by which.

Value

  • metadata2(): list. Returns NULL on which match failure, similar to attr() and metadata().

  • metadata2<-(): Modified object.

S3 class

Internally slots into attributes(). Attribute is also accessible via attr(object, which).

S4 class

Requires that object extends Annotated class, which supports metadata().

Internally slots into metadata(). Attribute is also accessible via metadata(object)[[which]].

Examples

class(metadata2)
#> [1] "nonstandardGenericFunction" #> attr(,"package") #> [1] "methods"