A načo nám to vlastne je? Ja by som to nepochopil, kebyže sa nestretnem s F#. V Pythone to vôbec nevynikne. Nejaký zložitý kód, ktorý neviem na čo mi bude.
V podstate, currying a parciálne funkcie nám umožňujú nasledujúci kód.
[9;-2;-3;-5;5;-8;4;3;0;-4] |> Seq.map(fun e -> e * 2) |> Seq.map ((+) 1) |> Seq.filter (fun e -> e > 0) |> Seq.sortDescending |> Seq.iter (printfn "%d")
Operátorom |> posielame výsledok spracovania do ďalšej funkcie.
let f1 = List.map ((+) 1) let f2 = List.filter (fun e -> e >= 0) let compose = f1 >> f2 let res = compose [-5..5] printfn "%A" res
Operátorom >> vytvárame kompozitné funkcie.
Čož je mimoriadne elegantné a flexibilné.
Možností je naozaj veľa:
open System let add x y = x + y add 5 <| 10 |> Console.WriteLine (add 5) 10 |> Console.WriteLine (add 5) <| 10 |> Console.WriteLine add <| 5 <| 10 |> Console.WriteLine add 5 10 |> Console.WriteLine 5 |> add <| 10 |> Console.WriteLine Console.WriteLine(add 10 5) Console.WriteLine((add 10) 5) Console.WriteLine((add 10) <| 5) Console.WriteLine((add <| 10 <| 5))
3. 8. 2023, 21:31 editováno autorem komentáře