syntactic-shugar
memisc
0.99.26.3
Syntactic Sugar for Setting Annotations and Attributes¶
Description¶
The operator %#%
can be used to attach a description
annotation to an object.
%##%
can be used to attach a character vector of annotations to an object. %@%
returns the attribute with the name given as second argument. With %@%
it is also
possible to assign attributes.
Usage¶
x %#% descr
x %##% annot
x %@% nm
x %@% nm <- value
Arguments¶
x
-
an object, usually and
item
or a vector. descr
-
a character string
annot
-
a named character vector; its contents are added to the “annotation” attribute of
x
. Existing elements are kept. nm
-
a character string, the name of the attribute being set or requested.
value
-
any kind of object that can be attached as an attribute.
Examples¶
test1 <- 1 %#% "One"
# This is equivalent to:
# test <- 1
# description(test) <- "One"
description(test1)
[1] "One"
# Results in "One"
# Not that it makes sense, but ...
test2 <- 2 %##% c(
Precedessor = 0,
Successor = 2
)
# This is equivalent to:
# test2 <- 2
# annotation(test2) <- c(
# Precedessor = 0,
# Successor = 2
# )
annotation(test2)
Precedessor:
0
Successor:
2
# The following examples are equivalent to
# attr(test2,"annotation")
test2 %@% annotation
Precedessor:
0
Successor:
2
test2 %@% "annotation"
Precedessor:
0
Successor:
2
test2 %@% another.attribute <- 42
# This is equivalent to attr(test2,"another.attribute") <- 42
attributes(test2)
$annotation
Precedessor:
0
Successor:
2
$another.attribute
[1] 42