Wraps a function of any arity (including nullary) in a function that accepts exactly 2 parameters. Any extraneous parameters will not be passed to the supplied function.
@func
@memberOf R
@since v0.2.0
@category Function
@sig (* -> c) -> (a, b -> c)
@param {Function} fn The function to wrap.
@return {Function} A new function wrapping fn
. The new function is guaranteed to be of
arity 2.
@see R.nAry, R.unary
@example
var takesThreeArgs = function(a, b, c) {
return [a, b, c];
};
takesThreeArgs.length; //=> 3
takesThreeArgs(1, 2, 3); //=> [1, 2, 3]
var takesTwoArgs = R.binary(takesThreeArgs);
takesTwoArgs.length; //=> 2
// Only 2 arguments are passed to the wrapped function
takesTwoArgs(1, 2, 3); //=> [1, 2, undefined]
@symb R.binary(f)(a, b, c) = f(a, b)