Я хочу понять, как работает следующий код, предназначенный для задачи: «Учитывая последовательность целых чисел, найдите непрерывную подпоследовательность, которая максимизирует сумму ее элементов»
defn max-subseq-sum [coll]
(->> (take-while seq (iterate rest coll)) ; tails (1)
(mapcat #(reductions conj [] %)) ; inits (2)
(apply max-key #(reduce + %)))) ; max sum
, поэтому я 'Хотелось бы увидеть вывод форм (1), (2) и других.Я могу установить контрольные точки в Cursive, но пока не знаю, как получить эти значения.Я пытался определить переменные локали, например,
(defn max-subseq-sum [coll]
(->> (take-while seq (iterate rest coll)) ; tails
(let [d #(reductions conj [] %)]
d ) ; inits
(apply max-key #(reduce + %)))
)
(max-subseq-sum [-1, -2, 3, 5, 6, -2, -1, 4, -4, 2, -1])
Но я до сих пор не понимаю, как увидеть d, например
Как решить эту проблему?