papply
Partially apply function arguments.
Usage
var papply = require( '@stdlib/utils/papply' );
papply( fcn[, ...args] )
Partially applies function arguments.
function add( x, y ) {
return x + y;
}
var add2 = papply( add, 2 );
var sum = add2( 3 );
// returns 5
sum = add2( 7 );
// returns 9
Notes
- The implementation does not set the
length
of the returned function. Accordingly, the returned functionlength
is always0
. - The evaluation context is always
null
.
Examples
var randu = require( '@stdlib/random/base/randu' );
var floor = require( '@stdlib/math/base/special/floor' );
var papply = require( '@stdlib/utils/papply' );
var fcn;
var w;
var t;
var s;
var v;
var i;
function add( x, y, z, w, t, s ) {
return x + y + z + w + t + s;
}
fcn = papply( add, 5, 4, 3 );
for ( i = 0; i < 100; i++ ) {
w = floor( randu() * 5 );
t = floor( randu() * 10 );
s = floor( randu() * 15 );
v = fcn( w, t, s );
console.log( '5+4+3+%d+%d+%d = %d', w, t, s, v );
}