oddSquareSum :: Integer
oddSquareSum =
let oddSquares = filter odd $ map (^2) [1..]
belowLimit = takeWhile (<10000) oddSquares
in sum belowLimit
--extra code to print the list of integers
show belowLimit
Это код для печати суммы квадратов нечетных чисел. Список квадратов нечетных чисел находится в списке, belowLimit
и как я могу его распечатать?Как отделить два оператора (или эквивалент точки с запятой)
Добавление в качестве дополнительной строки в конце дает ошибки компиляции, поскольку вызов функции show
рассматривается как аргумент функции sum
.
Итак, какой результат вы хотите? «Целое» или «Строка»? – Sibi
С одной стороны, вам нужно прочитать о том, как Haskell выбирает представление IO-эффектов в своей системе статического типа. С другой стороны, вы, вероятно, ищете [Debug.Trace.trace] (https://hackage.haskell.org/package/base-4.6.0.1/docs/Debug-Trace.html#v:trace) – Cactus
@ sibi, чтобы напечатать временный список - 'belowLimit', например [1 9 25 ....] и т. д. –