• [^] # Re: Lazy ?

    Posté par . En réponse à la dépêche pyxshell : piper des flux de texte en pur Python. Évalué à 1.

    En fait, pour voir les pipes comme plus pythonique, il faut comprendre le | comme un opérateur. Or a | b est équivalent à a.__or__(b). On peut donc facilement définir les pipes par:

    class Pipe(float):
     def __or__(self, val):
     return Pipe(self(val))
    
    

    Ce qui peut être utilisé ainsi:

    def f(x):
     return x+1
    def g(x):
     return x*x
    print Pipe(4) | f | f | g
    >>> 36
    
    

    Intéressant :-)