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
parentof 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.