El método Underscore.js _.curry() funciona al revés
Sintaxis:
_.curry( fun, reverse )
Parámetros: Este método toma dos parámetros como se enumeran arriba y se discuten a continuación.
- diversión: Esta es la función dada.
- reverse: es un parámetro opcional y determina si los argumentos se invertirán o no
Valor devuelto: Devuelve una versión curry de la función.
Nota: Para ejecutar los ejemplos a continuación, debe instalar la biblioteca de subrayado-contrib utilizando este símbolo del sistema y ejecutar el siguiente comando.
npm install underscore-contrib
Ejemplo 1:
Javascript
// Defining underscore contrib variable var _ = require('underscore-contrib'); // Function function fun(a, b, c, d){ return a + b + c + d; } // Making curried function var gfgFunc = _.curry(fun); // Only operates for arguments same // as the number in function console.log("Addition is :", gfgFunc(2)(23)(2)(3)); // Not adds for less arguments console.log(gfgFunc(1)(2));
Producción:
Addition is : 30 [Function: mustBeUnary]
Ejemplo 2:
Javascript
// Defining underscore contrib variable var _ = require('underscore-contrib'); // Function function fun(a, b, c) { return a * b * c; } // Making curried function var gfgFunc = _.curry(fun); // Only operates for arguments same // as the number in function console.log("Multiplication is :", gfgFunc(2)(23)(2)); // Not multiplies for less arguments console.log(gfgFunc(1)(2));
Producción:
Multiplication is : 92 [Function: mustBeUnary]
Ejemplo 3: Los argumentos se procesan de derecha a izquierda para invertido = verdadero.
Javascript
// Defining underscore contrib variable var _ = require('underscore-contrib'); // Function function fun(a, b, c){ return arguments; } // Making curried function var gfgFunc = _.curry(fun,true); // Only operates for arguments same // as the number in function console.log("curried arguments are :", gfgFunc("arg1")("arg2")("arg3"));
Salida: Los argumentos se almacenan en orden inverso.
curried arguments are : [Arguments] { '0': 'arg3', '1': 'arg2', '2': 'arg1' }
Ejemplo 4: Los argumentos se procesan de izquierda a derecha para invertido = falso.
Javascript
// Defining underscore contrib variable var _ = require('underscore-contrib'); // Function function fun(a, b, c){ return arguments; } // Making curried function var gfgFunc = _.curry(fun,false); // Only operates for arguments same // as the number in function console.log("curried arguments are :", gfgFunc("arg1")("arg2")("arg3"));
Producción:
curried arguments are : [Arguments] { '0': 'arg1', '1': 'arg2', '2': 'arg3' }