Class: StatefulPatterns
StatefulPatterns()
This is a base class that can be used to automatically define Patterns
that hold state between queries. Derived classes, which must be defined at
module scope, must in their constructor call this.registerPatterns, which
will automatically register (most of) of their methods as Strudel Patterns,
each of which takes an instance of the class as a first parameter, and the
Pattern as the last parameter. Class methods must have the following syntax
and semantics:
Class.Pat(is_onset, [0 or more arguments to be patternified], hap) {...}
Strudel will pass true for is_onset on the onset of the Pattern's cycle,
and false for is_onset for every query in that cycle. Therefore, the
class method must update its state if is_onset is true, and return the
hap, without changing its value; and if 'is_onset' is false, the method must
update and return the hap, and its usually new value.
In this way, derived classes act like stateful values that have Pattern methods as class methods.