AI
first
и rest
от range
(rest (range 10))
— 50+nsSize: a a a
AI
ST
first
и rest
от range
(rest (range 10))
— 50+ns(rest '(0 1 2 3 4 5 6 7 8 9))
на порядок быстрее, чем `(rest (range 10))
`ST
(defn x--i+i-range
[]
(->>
(range 10000)
(map (fn [^long x]
(quot (* x (inc x)) 2)))))
AI
ST
ST
(defn x--i+i-range
[]
(->>
(range 10000)
(map (fn [^long x]
(quot (* x (inc x)) 2)))))
AI
ST
ST
ST
AI
ST
ST
AG
AG
MB
MB
ST
AI
Упражнение 3.55.
Определите процедуру partial-sums, которая в качестве аргумента берет поток S, а возвращает поток, элементы которого равны S0, S0 + S1, S0 + S1 + S2, . . .. Например, (partial-sums integers) должно давать поток 1, 3, 6, 10, 15 . . .
KC
(def foo `(0 1 ~@(lazy-seq (map #(%1 %2) (map #(partial + % ) (drop 2 (range))) (drop 1 foo)))))
(take 10 foo) ;; => (0 1 3 6 10 15 21 28 36 45)