LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

function printSum(x: number) {
    return (function make(acc: number) {
        return function (y: number) {
            console.log('acc(%o) + %o', acc, y);
            return make(acc + y);
        };
    })(x);
}

printSum(10)(20)(30)(40);
$ bun sum.ts 
acc(10) + 20
acc(30) + 30
acc(60) + 40

А в чём подвох?

Исправление Nervous, :

function printSum(x: number) {
    return (function make(acc: number) {
        return function (y: number) {
            console.log('acc(%o) + %o', acc, y);
            return make(acc + y);
        };
    })(x);
}

printSum(10)(20)(30)(40);
# bun sum.ts 
acc(10) + 20
acc(30) + 30
acc(60) + 40

А в чём подвох?

Исправление Nervous, :

function printSum(x: number) {
    return (function make(acc: number) {
        return function (y: number) {
            console.log('acc(%o) + %o', acc, y);
            return make(acc + y);
        };
    })(x);
}

printSum(10)(20)(30)(40);
# bun sum.ts 
acc(10) + 20
acc(30) + 30
acc(60) + 40

А в чём подвох?

Исходная версия Nervous, :

function printSum(x: number) {
    return (function make(acc: number) {
        return function (y: number) {
            console.log('acc(%o) + %o', acc, y);
            return make(acc + y);
        };
    })(x);
}

printSum(10)(20)(30)(40);
acc(10) + 20
acc(30) + 30
acc(60) + 40

А в чём подвох?