Я вычисляю сумму списка после применения someFunction
к каждому его элементу следующим образом:
sum (map someFunction myList)
someFunction
очень требователен к ресурсам, поэтому для его оптимизации я хочу прекратить вычисление суммы, если она превысит определенный порог.
Вроде как нужно использовать фолд, но я не знаю, как его выбить, если аккум достигает порога. Я предполагаю, что нужно каким-то образом составить fold
и takeWhile
, но я не совсем уверен, как это сделать.
head
выдаст ошибку. 07.08.2018find
вместоhead
иdropWhile
:find (>= 1000) (scanl1 (+) [1..])
08.12.2020