Хожу по job interview. Где-то скучно, где-то весело. Где-то интересно. На одном из таких меня попросили написать функцию, которая умеет складывать два числа. Я написал:
it ('should add two numbers', function () {
var add = function (a,b) {
return a + b;
};
assert.equal(add(2,3), 5);
});
А если, говорят, сигнатура функции должна быть типа такой: add(num1)(num2)? Не вопрос, говорю. Думая, что хитрый буржуин хочет проверить, знаю ли я про то, что можно возвращать функции из функций, пишу вот такое:
it ('should be called like add(num1)(num2)', function () {
var add = function (a) {
return function (b) {
return a + b;
};
};
assert.equal(add(2)(3), 5);
});
Читать полностью »