mam sekwencję:jak zastosować funkcję dwóch argumentów do sekwencji?
[a b c ...]
i funkcję (f x y)
. Chcę uzyskać to:
(f c (f b (f a 1)))
Itd .. Jak to zrobić?
mam sekwencję:jak zastosować funkcję dwóch argumentów do sekwencji?
[a b c ...]
i funkcję (f x y)
. Chcę uzyskać to:
(f c (f b (f a 1)))
Itd .. Jak to zrobić?
Reduce, z małym dostosowaniem:
(reduce #(f %2 %1) 1 [a b c])
@ A.Webb Rzeczywiście, iterowane aplikacje 'f' przyjmują elementy sekwencji jako pierwszy argument, a nie drugi. –
(reduce (fn [acc x] (f x acc)) 1 [a b c d])
[zredukować] (http://clojuredocs.org/clojure_core/clojure.core/reduce) –
co '1 '? Nie mogę znaleźć sposobu na to, używając 'reduce'. Czy możesz dać przykład? – yegor256
Kliknij poniższy link, aby zobaczyć przykłady. Pierwszy przykładowy blok pokazuje przypadek użycia '1' jako wartości początkowej. –