Я спросил a question прежде чем использовать ленивую оценку в Scala. Я пытался написать следующую функцию Haskell в Scala:Javascript ленивый оценить fibonacci функцию
fib a b = c : (fib b c)
where c = a+b
Ответ на этот вопрос в том, что я не мог использовать списки, а должны использовать потоки. Теперь я пытаюсь сделать то же самое в Javascript. Я перевел эту функцию, и попробовал его на this site:
function fib(a,b) {
c = a+b;
return [c] + fib(b,c);
}
var res = fib(0,1).slice(0,10);
console.log(res);
Но я получаю следующее сообщение об ошибке:
RangeError: Maximum call stack size exceeded
ли Javascript иметь способ сделать это?
где конечное условие? – Elazar
У вас нет условия выхода для вашей рекурсии. –
Идея состоит в том, что после 10 номеров в этом примере список больше не будет оцениваться. – Hassan