подумать
"Can product, implemented using foldRight, immediately halt the recursion and return 0.0 if it encounters a 0.0? Why or why not? Consider how any short-circuiting might work if you call foldRight with a large list."
На которую ответ
"No, this is not possible. foldRight recurses all the way to the end of the list
before invoking the function. A full traversal has occurred before the supplied function is ever invoked."
Но можно ли решением считать если в фолд дать код который будет кидать эксепшн в случае нуля и обернуть этот фолд в трай/кетч? Или даже в таком случае рекурсия будет рекурсировать до конца?
Да, но теряется смысл задачи
проброску эксепшенов можно считать читом в какой-то степени?
ЛОВЛЯ эксепшона это чит
да, так корректнее, спасибо
Обсуждают сегодня