Ich arbeite in Python. Vor kurzem entdeckte ich ein wundervolles kleines Paket namens fn. Ich habe es für die Funktionszusammensetzung verwendet.Bessere Funktionszusammensetzung in Python
Zum Beispiel statt:
baz(bar(foo(x))))
mit fn, können Sie schreiben:
(F() >> foo >> bar >> baz)(x) .
Als ich das sah, habe ich sofort von Clojure dachte:
(-> x foo bar baz) .
Aber Beachten Sie, wie in Clojure die Eingabe auf der linken Seite ist. Ich frage mich, ob das in Python/Fn möglich ist.
Während der Bediener Verhalten Überlastung interessant, mir dies scheint wie eine schlechte Sache in echten Code zu tun. –
Es gibt keine Möglichkeit, die genaue Syntax in Python zu verwenden, wenn Sie das fragen. Sie können es auf verschiedene Arten annähern. Was genau ist dir syntaktisch wichtig? – BrenBarn
Den Fluss von links nach rechts halten.Gegenwärtig ist das Argument für die komponierte Funktion am Ende. Es wäre klarer, wenn ich F() >> x >> foo >> bar >> baz oder ähnliches schreiben könnte. –