Lavoro in Python. Recentemente, ho scoperto un meraviglioso pacchetto chiamato fn. L'ho usato per la composizione delle funzioni.Migliore funzione composizione in Python
Per esempio, invece di:
baz(bar(foo(x))))
con fn, è possibile scrivere:
(F() >> foo >> bar >> baz)(x) .
Quando ho visto questo, ho pensato subito a Clojure:
(-> x foo bar baz) .
Ma nota come, in Clojure, l'input è a sinistra. Mi chiedo se questo sia possibile in python/fn.
Mentre l'overloading degli operatori comportamento è interessante, a me questo sembra proprio come una cattiva cosa da fare nel codice reale. –
Non c'è modo di far funzionare la sintassi esatta in Python, se è quello che stai chiedendo. Potresti essere in grado di approssimarlo in vari modi. Che cosa è esattamente importante per te in termini di sintassi? – BrenBarn
Mantenere il flusso da sinistra a destra.Attualmente, l'argomento della funzione composta è alla fine. Sarebbe più chiaro se potessi scrivere F() >> x >> foo >> bar >> baz, o simili. –