• [^] # Re: Presque d'accord ...

    Posté par (site web personnel) . En réponse à la dépêche Revue des techniques de programmation en shell. Évalué à 3.

    (À part bien sûr le |> de OCaml!)
    A cela éveille ma curiosité, si j'ai 2 minutes je vais voir de quoi il en retourne?

    Imaginons que tu ais trois fonctions :

    1. print_line: string -> unit
    2. read_file: file -> string
    3. open_file: string -> file

    Ces trois fonctions peuvent s'assembler pour afficher le contenu fichier.

    Une première manière est de faire :

    print_line( read_file ( open_file ("mon_fichier.txt") ) )

    Or, |> est une fonction définie comme ça :

    let (|>) x f = f x

    C'est à dire qu'elle prend un type x, une fonction f, et en inverse l'application. Par exemple cela permet d'écrire :

    "mon_fichier.txt" |> open_file

    Bien sûr ça n'a pas beaucoup de sens dans l'exemple ci dessus, mais ça permet de réécrire le premier bloc de code de la manière suivante :

     open_file "mon_fichier.txt"
    |> read_file
    |> print_line

    Et voilà :)