Есть ли обходной путь для ошибок переполнения стека в рекурсивных функциях в Ruby?
Скажем, например, у меня есть этот блок:
def countUpTo(current, final)
puts current
return nil if current == final
countUpTo(current+1, final)
end
если я позвоню countUpTo(1, 10000)
, я получу ошибку: stack level too deep (SystemStackError)
.
Кажется, что он ломается в 8187. Есть ли какая-то функция, которую я могу вызвать, говоря Ruby, игнорировать размер стеков или способ увеличить максимальный размер стека?