Back to functions
nerdamer.register
register
Registers a module function with nerdamer. The object needs to contain at a minimum,
a name property (text), a numargs property (int), this is -1 for variable arguments or an array containing the min and max arguments,
the visible property (bool) which allows use of this function through nerdamer, defaults to true,
and a build property containing a function which returns the function to be used. This function is also handy for creating aliases to functions.
See below how the alias D was created for the diff function).
Usage: nerdamer.register(o)
Parameters
Object | Object[]
o
|
An array of objects to be registered |
Returns
nerdamer
var core = nerdamer.getCore();
var _ = core.PARSER;
function f(a, b) {
//use clone for safety since a or b might be returned
var sum = _.add(a.clone(), b.clone());
var product = _.multiply(a.clone(), b.clone());
return _.multiply(sum, product);
}
//register the function with nerdamer
nerdamer.register({
name: 'myFunction',
numargs: 2,
visible: true,
build: function(){ return f; }
});
//create an alias for the diff function
var core = nerdamer.getCore();
nerdamer.register({
name: 'D',
visible: true,
numargs: [1, 3],
build: function(){ return core.Calculus.diff; }
});
var x = nerdamer('D(cos(x),x)');
console.log(x.toString());