Clojure und Scala haben beide Zusammensetzfunktionen/Methoden (comp
und .compose
respectively). Scala hat eine Methode .andThen
, die die gleiche Art und Weise wie .compose
funktioniert, außer es ist die Funktionsanwendung in der umgekehrten Reihenfolge verschachtelt. Existiert in Clojure ein Analogon dieser Funktion? (defn and-then [& fns] (apply comp (reverse fns)))
, jedoch scheint es, grundlegend genug, dass es muss bereits vorhanden sein, zumal in Clojure es bei der Umwandlung von Threading-Makro Ausdrücke in Punkt freie Funktionen natürliche Anwendung hat:Clojure Äquivalent Scala andthen
ich es leicht genug, um mich zum Beispiel so schreiben könnte z.B die beide folgenden Ausdrücke gleichwertig im einstelligen Fall wären: #(->> % a b c)
und (and-then a b c)
Ich bin damit einverstanden 'und-then' nicht der beste Name für eine Präfix Sprache ist, aber ich hatte gehofft, Clojure etwas mit einem Namen hatte, die mehr Sinn. Die Threading-Makros sind groß in vielen Situationen, aber es gibt andere Zeiten, in denen eine Funktion (kein Makro), die eine Funktion (nicht der berechnete Wert) zurückgibt, ist von Vorteil. – user12341234
In der Tat. Es sieht so aus, als ob eine Anzahl von Projekten nur ihr eigenes 'rcomp' mit der von Ihnen vorgeschlagenen Definition definiert. –