Мне любопытно, может ли реализовать функцию Scala, подобную этой функции Javascript. Очевидно, что я могу сделать это легко с помощью внутренней функции.Функция Scala с параметром рекурсивной функции
Зная, что Scala должно объявлять тип параметра и arity upfront, мне просто интересно, есть ли что-нибудь, что я мог бы использовать для реализации этой функции JS. Благодарю.
function factorial(x) {
if (x < 0) throw Error("Cannot calculate factorial of a negative number");
return (function(f) {
return f(f, x, 1);
})(function(f, i, fact) {
return i === 0 ? fact : f(f, i-1, i*fact);
});
}
Я запутался, что ваш вопрос здесь - вы спрашиваете, если вы можете создать функцию, которая принимает рекурсивная функция как параметр? – Hamish