Mam nadzieję, że dobrze rozumiem twoje pytanie, ale uważam, że jest to znane jako (odwrotny) operator rur w językach ML.
[1; 2; 3] |> List.map sq // let it = [1; 4; 9]
Istnieje również operator odwróconej rury, który pomaga w kolejności operacji.
printf "The value is.." <| 2 + 3 // let it = "The value is..5"
Jest to przydatne, ponieważ niepippowana forma
printf "The value is.." 2 + 3 ;; error
wystąpił błąd, ponieważ printf próbowałby ocenić, "The value is.." 2
a błąd, ponieważ nie ma zdefiniowanego +
operatora. Aby to zadziałało, użyj nawiasów:
printf "The value is.." (2 + 3) // let it = "The value is..5"
Jeśli chodzi o praktyczne zastosowanie, |>
operator jest niezwykle przydatny, a chleb powszedni wielu języków ML i inspirowanych ML, takich jak F #, LiveScript i Elixir. <|
jest mniej powszechny i zwykle używany tylko wtedy, gdy zwiększa czytelność.