Solución
solution.tsTypeScript
function curry(fn: Function): Function {
return function curried(...args: unknown[]): unknown {
// TODO: implementa la lógica de curry
// Si se recibieron suficientes argumentos, ejecuta fn
// Si no, devuelve una función que espera el resto
if (args.length >= fn.length) return fn(...args);
return (...remaining: unknown[]) => curried(...args, ...remaining);
};
}
// ── No modificar las líneas siguientes ──────────────────────────────────────
// Usa curry para crear la versión currificada de (a, b, c) => a + b + c
const curryAdd3 = curry((a: number, b: number, c: number): number => {
return a + b + c;
});
// No modificar: necesario para evaluar el resultado.
export { curryAdd3 };0respuestas