閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

Pipeline operator

> 演算子を使用するとシェルのパイプのようなことができるようです。演算子の左辺の値を右辺の関数に渡してくれます。
let inc x = x + 1
let dec x = x - 1

do printfn "%d" (dec(dec(dec(inc 3))))

do printfn "%d" (inc 3 |> dec |> dec |> dec)

上と下の処理は等価ですが、下のほうが括弧が少なくて済み、また処理の順番が左から読んでいけばいいのでわかりやすいのではないかと思います。