gganimintproto is inspired by the proto package, but it has some important differences. Notably, it cleanly supports cross-package inheritance, and has faster performance.
Arguments
- _class
Class name to assign to the object. This is stored as the class attribute of the object. If
NULL
(the default), no class name will be added to the object.- _inherit
gganimintproto object to inherit from. If
NULL
, don't inherit from any object.- ...
A list of members in the gganimintproto object.
- parent, self
Access parent class
parent
of objectself
.
Calling gganimintproto methods
gganimintproto methods can take an optional self
argument: if it is present,
it is a regular method; if it's absent, it's a "static" method (i.e. it
doesn't use any fields).
Imagine you have a gganimintproto object Adder
, which has a
method addx = function(self, n) n + self$x
. Then, to call this
function, you would use Adder$addx(10)
– the self
is passed
in automatically by the wrapper function. self
be located anywhere
in the function signature, although customarily it comes first.