|
||
---|---|---|
.. | ||
docs | ||
lib | ||
package.json | ||
README.md |
papplyRight
Partially apply function arguments from the right.
Usage
var papplyRight = require( '@stdlib/utils/papply-right' );
papplyRight( fcn[, ...args] )
Partially applies function arguments from the right.
function say( text, name ) {
return text + ', ' + name + '.';
}
var toSusan = papplyRight( say, 'Susan B. Anthony' );
var str = toSusan( 'Thank you' );
// returns 'Thank you, Susan B. Anthony.'
str = toSusan( 'Never forget' );
// returns 'Never forget, Susan B. Anthony.'
Notes
- The implementation does not set the
length
of the returned function. Accordingly, the returned functionlength
is always0
. - The evaluation context is always
null
. - The difference between this function and
papply
is the order in which arguments are applied. This function fixes the rightmost arguments.
Examples
var randu = require( '@stdlib/random/base/randu' );
var floor = require( '@stdlib/math/base/special/floor' );
var papplyRight = require( '@stdlib/utils/papply-right' );
var fcn;
var x;
var y;
var z;
var v;
var i;
function add( x, y, z, w, t, s ) {
return x + y + z + w + t + s;
}
fcn = papplyRight( add, 5, 4, 3 );
for ( i = 0; i < 100; i++ ) {
x = floor( randu() * 5 );
y = floor( randu() * 10 );
z = floor( randu() * 15 );
v = fcn( x, y, z );
console.log( '%d+%d+%d+5+4+3 = %d', x, y, z, v );
}