machte ich ein konstruiertes Beispiel, wo wir eine Liste von Listen von Zahlen umkehren wollen und tun dann etwas Mathematik auf ihnen eine einzige Liste zu produzieren:
user> (def my-funs [reverse #(map inc %)])
#'user/my-funs
user> (reduce (fn [answer-so-far next-function]
(mapcat next-function answer-so-far))
[[[1 1 1] [2 2 2] [3 3 3]]
[[2 2 2] [3 3 3] [4 4 4]]]
my-funs)
(4 4 4 3 3 3 2 2 2 5 5 5 4 4 4 3 3 3)
Die verringern Funktion beginnt mit der ersten Liste der Listen und wendet dann die erste Funktion auf diese Liste von Listen an, um die Antwort bis jetzt zu erzeugen, dann nimmt sie die zweite Funktion und wendet sie auf die Antwort bis jetzt an, um die folgende Antwort zu produzieren. Wenn Sie an mehr Funktionen denken, können Sie so oft wie gewünscht fortfahren.
Ich vermute, dass es den Code nicht viel attraktiver machen wird, um zu betrachten.
Können Sie ein Beispiel der gewünschten Ein-/Ausgänge zeigen? –
@AlanThompson Ich werde nach der Arbeit Beispieleingabe erstellen. Vielen Dank. –